Sie sind auf Seite 1von 427

Pgina 1

Clculo
Visualizacin
Programacin
Caja de herramientas de la lgica difusa
Para uso con MATLAB

Gua de usuario
Versin 2
Pgina 2

Como contactar con The MathWorks:


508-647-7000
Telfono
508-647-7001
Fax
The MathWorks, Inc.
Correo
24 Primer Park Way
Natick, MA 01760-1500
http://www.mathworks.com
Web
ftp.mathworks.com
Servidor FTP annimo
comp.soft-sys.matlab
Grupo de noticias
support@mathworks.com
Soporte tcnico
suggest@mathworks.com
Sugerencias de mejora del producto
bugs@mathworks.com
Informes de errores
doc@mathworks.com
Informes de errores de documentacin
subscribe@mathworks.com
La suscripcin de registro de usuarios
service@mathworks.com
Estado de la orden, renovaciones de licencias, cdigos de acceso
info@mathworks.com
Ventas, precios, e informacin general
Gua del usuario de Lgica Difusa Caja de herramientas
COPYRIGHT 19951999porTheMathWorks,Inc.

El software descrito en este documento se suministra bajo un acuerdo de


licencia. El software puede ser utilizado
o copiado slo bajo los trminos del contrato de licencia. Ninguna parte de este
manual puede ser fotocopiada o reproduccin
producido en cualquier forma sin el consentimiento previo por escrito de The
MathWorks, Inc.
Del gobierno estadounidense: Si el licenciatario es la adquisicin de los
programas en nombre de cualquier unidad o agencia de los EE.UU.
Gobierno, se aplicar lo siguiente: (a) Para las unidades del Departamento de
Defensa: El Gobierno se
han slo los derechos especificados en la licencia bajo la cual el software
informtico comercial o comercial
se obtuvo documentacin de software, tal como se establece en el inciso (a) de
los Derechos de Comercial
Software de ordenador o Clusula documentacin del software comercial en
DFARS 227.7202-3, por lo tanto, la
se aplicarn los derechos establecidos en este documento; y (b) Para cualquier
otra unidad o agencia: AVISO: A pesar de cualquier
otro contrato de arrendamiento o contrato de licencia que pueden pertenecer a, o
acompaar a la entrega de, el software del ordenador
y la documentacin adjunta, los derechos del Gobierno con respecto a su uso,
reproduccin y divulgacin
Seguro son como se establece en la Clusula 52.227-19 (c) (2) de las FAR.
MATLAB, Simulink, Stateflow, Manilla Grficos, y Real-Time Workshop son
marcas comerciales y
Traduce al compilador son marcas registradas de The MathWorks, Inc.
Otros nombres de productos o marcas son marcas comerciales o marcas
comerciales registradas de sus respectivos propietarios.
Historia de la Imprenta: Enero de 1995
primera edicin,
04 1997
segunda edicin
01 1998
En tercer lugar printingRevised para MATLAB 5.2
de enero de de 1999
Las revisiones menores para Release 11 (slo en lnea)

TELFONO
FAX
u
CORREO

INTERNET
@
Pgina 3

Adelante
En los ltimos aos se ha producido un rpido crecimiento en el nmero y la
variedad
de las aplicaciones de la lgica difusa. Las aplicaciones van desde productos de
consumo
tales como cmaras, videocmaras, lavadoras, hornos de microondas y a
el control de procesos industriales, instrumentacin mdica, sistemas de soporte
de decisiones,
y la seleccin de la cartera.
Para entender las razones para el creciente uso de la lgica difusa es necesario,
En primer lugar, para aclarar qu se entiende por lgica difusa.
La lgica difusa tiene dos significados diferentes. En un sentido estricto, la lgica
difusa es una
sistema lgico, que es una extensin de la lgica de varios valores. Pero en un
amplio
-sentido que est en uso predominante hoy-Lgica Difusa (FL) es casi
sinnimo de la teora de conjuntos difusos, una teora que se refiere a las clases
de
los objetos con lmites poco definidos en el que la pertenencia es una cuestin de
grado.
En esta perspectiva, la lgica difusa en su sentido estricto es una rama de la
FL. Que es
es importante reconocer que, incluso en su sentido estricto, la agenda de fuzzy
lgica es muy diferente, tanto en el espritu y la esencia de las agendas de
tradicional mltiples valores sistemas lgicos.
En el Cuadro de lgica difusa, lgica difusa se debe interpretar como FL, es
decir,
lgica difusa en su sentido ms amplio. Las ideas bsicas subyacentes FL se
explican muy
con claridad y perspicacia en la introduccin. Lo que podra ser aadida es que el
concepto bsico subyacente FL es la de una variable lingstica, es decir, una
variable
cuyos valores son palabras en lugar de nmeros. En efecto, la mayor parte de FL
pueden
visto como una metodologa para calcular con palabras en lugar de nmeros.
Aunque las palabras son inherentemente menos preciso que los nmeros, su uso
est ms cerca de
la intuicin humana. Adems, la computacin con palabras explota la tolerancia

la falta de precisin y por lo tanto reduce el coste de la solucin.


Otro concepto bsico en FL, que desempea un papel central en la mayor parte
de su
aplicaciones, es la de un si-entonces gobernar, simplemente, regla difusa o
borrosa. A pesar de que
sistemas basados en reglas tienen una larga historia de uso en la IA, lo que falta
en tales
sistemas es un procedimiento para tramitar las consecuentes difusos y / o difusa
antepasados. En la lgica difusa, esta maquinaria es proporcionado por lo que se
llama el
clculo de reglas difusas. El clculo de reglas difusas sirve como una base para lo
que podra llamarse el Fuzzy Dependencia y Command Language (FDCL).
Aunque FDCL no se utiliza explcitamente en Caja de herramientas de la lgica
difusa, que es efectivamente
uno de sus principales componentes. A este respecto, lo que es importante
pgina 4

Adelante
reconocer es que en la mayora de las aplicaciones de la lgica difusa, una
solucin lgica difusa
es en realidad una traduccin de una solucin humana en FDCL.
Lo que hace que la caja de herramientas Lgica Difusa tan poderoso es el hecho
de que la mayora de
razonamiento humano y la formacin de conceptos est vinculada a la utilizacin
de reglas difusas. Por
proporcionar un marco sistemtico para hacer clculos con reglas difusas, el
Fuzzy
Caja de herramientas de la lgica amplifica enormemente el poder del
razonamiento humano. Promover
los resultados de amplificacin de la utilizacin de MATLAB y interfaces
grficas de usuario reas en las que The MathWorks cuenta con una experiencia sin precedentes.
Una tendencia que est creciendo en visibilidad se refiere al uso de la lgica
difusa en
combinacin con la Neuro y algoritmos genticos. Ms generalmente,
lgica difusa, Neurocomputacin y algoritmos genticos pueden ser vistos como
el
principales constituyentes de lo que podra llamarse Soft Computing. ni idea
informtica tradicional, duro, soft computing est dirigido a un alojamiento
con la imprecisin dominante del mundo real. El principio rector de la suave
computing es: aprovechar la tolerancia imprecisin, la incertidumbre, y parcial

la verdad para alcanzar la tratabilidad, robustez y bajo coste de la solucin. Al


venir
aos, soft computing es probable que desempee un papel cada vez ms
importante en el
concepcin y diseo de sistemas cuya MIQ (Machine IQ) es mucho mayor que
la de los sistemas diseados por mtodos convencionales.
Entre las diversas combinaciones de metodologas en soft computing, la que
tiene mayor visibilidad en este momento es el de la lgica difusa y
Neurocomputacin
dando lugar a los llamados sistemas neuro-difuso. Dentro de la lgica difusa,
estos sistemas juegan
un papel particularmente importante en la induccin de reglas a partir de
observaciones. Un
mtodo eficaz desarrollada por el Dr. Roger Jang para este propsito se llama
ANFIS
(Adaptive Neuro-Fuzzy sistema de inferencia). Este mtodo es un importante
componente de la Caja de herramientas de la lgica difusa.
La Caja de herramientas de la lgica difusa es muy impresionante en todos los
aspectos. Se hace borroso
lgica de una herramienta eficaz para la concepcin y diseo de sistemas
inteligentes. los
Caja de herramientas de la lgica difusa es fcil de dominar y cmodo de usar. Y
por ltimo, pero no
menos importante, proporciona una fcil lectura y hasta a la fecha de
introduccin a la
metodologa de la lgica difusa y sus aplicaciones de amplio alcance.
Lotfi A. Zadeh
Berkeley, CA
10 de enero de, de 1995
pgina 5

yo
Contenido
Antes de que empieces
Cul es la Lgica Difusa caja de herramientas? . . . . . . . . . . . . . . . . . . . . . . . . . 6
Cmo utilizar esta gua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Instalacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Convenciones tipogrficas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1
Introduccin
Qu es la Lgica Difusa? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2.

Por qu utilizar la lgica difusa? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5


Cundo no utilizar la lgica difusa. . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Qu puede hacer la caja de herramientas Lgica Difusa
hacer? . . . . . . . . . . . . . . . . . . . 1-6
Un ejemplo introductorio: Fuzzy contra no-Fuzzy . . . . . . . . 1-8.
El enfoque no-Fuzzy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9
El mtodo de aproximacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
Algunas observaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
2
Tutorial
El cuadro grande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Fundamentos de la Lgica Difusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Fuzzy Sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Las funciones de pertenencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Las operaciones lgicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Pgina 6

ii
Contenido
Reglas si-entonces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Sistemas de inferencia difusos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Cena para dos, Reprise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
El diagrama de inferencia borrosa. . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Personalizacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Sistemas de construccin con la Caja de herramientas de la lgica
difusa . . . . . . . . . . 45
Cena para dos, desde la parte superior. . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Empezando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
El editor de la FIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
El Editor de miembro de funcin. . . . . . . . . . . . . . . . . . . . . . . . . 52
El editor de reglas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
El Visor de Reglas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
El Visor de superficie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
La importacin y exportacin de las herramientas GUI. . . . . . . . . . . . . . . 62
Personalizacin del sistema Fuzzy. . . . . . . . . . . . . . . . . . . . . . . . . 63
Trabajando desde la lnea de comandos . . . . . . . . . . . . . . . . . . . . . . . 65
Funciones de la pantalla del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
La construccin de un sistema desde cero. . . . . . . . . . . . . . . . . . . . . . . . . . 70
Evaluacin FIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
La estructura de la FIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Trabajando con Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Un ejemplo: control de nivel de agua. . . . . . . . . . . . . . . . . . . . . . . . 78

La construccin de sus propios modelos de Simulink


Fuzzy. . . . . . . . . . . . . . . . 83
Inferencia Difusa Sugeno-Type . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Un ejemplo: dos lneas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Conclusin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
ANFIS y el editor de interfaz grfica de usuario
ANFIS . . . . . . . . . . . . . . . . . . . . . . . . . 92
Un escenario de modelado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Modelo de Aprendizaje e Inferencia A travs de ANFIS. . . . . . . . . . . . . 93
La familiaridad engendra Validacin: Sepa sus datos. . . . . . . . . . . . . 94
Algunas restricciones de ANFIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
El editor de interfaz grfica de usuario
ANFIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Ejemplo GUI Editor ANFIS 1:
pgina 7

iii
Comprobacin de datos ayuda a la validacin del
modelo. . . . . . . . . . . . . . . . . . . 98
ANFIS Editor GUI Ejemplo 2:
Comprobacin de datos no valida Modelo. . . . . . . . . . . . . . . . . . 106
Anfis desde la lnea de comandos. . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Ms sobre ANFIS y el editor de interfaz grfica de usuario
ANFIS. . . . . . . . . . . . . . . . . 114
Fuzzy Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Fuzzy C-means clustering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
La agrupacin de sustraccin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Autnomo C-Fuzzy Cdigo Motor de inferencia . . . . . . . . . . . . 130
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
3
Referencia
Herramientas GUI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Las funciones de pertenencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Estructura de Gestin de Datos de FIS. . . . . . . . . . . . . . . . . . . . . . . . 3-3
Tcnicas avanzadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Los bloques de Simulink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Demos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
pgina 8

iv
Contenido

pgina 9

Antes de que empieces


Cul es la Lgica Difusa caja de herramientas? . . . . . . . . . . . . . 2
Cmo utilizar esta gua. . . . . . . . . . . . . . . . . 3
Instalacin. . . . . . . . . . . . . . . . . . . . . . 3
Convenciones tipogrficas
...............4
pgina 10

Antes de que empieces


6
En esta seccin se describe cmo utilizar la Caja de herramientas de la lgica
difusa. En l se explica cmo
utilizar esta gua y que apunta a los libros adicionales para la instalacin caja de
herramientas
informacin.
Cul es la Lgica Difusa caja de herramientas?
La Caja de herramientas de la lgica difusa es una coleccin de funciones
incorporadas en el MATLAB

entorno informtico numrico. Proporciona herramientas para crear y editar


sistemas de inferencia difusos en el marco de MATLAB, o si usted prefiere
pueden integrar sus sistemas difusos en simulaciones con Simulink

, o tu puedes
incluso construir programas independientes C que hacen escala en los sistemas
difusos que construir con
MATLAB. Esta caja de herramientas se basa en gran medida de las herramientas
de interfaz grfica de usuario (GUI) para
ayudarle a lograr sus trabajos, aunque se puede trabajar por completo de la
lnea de comandos, si lo prefiere.
La caja de herramientas ofrece tres categoras de herramientas:
Funciones de lnea de comandos
grficas, herramientas interactivas
bloques de Simulink y ejemplos
La primera categora de herramientas se compone de funciones que se pueden
llamar desde el
lnea de comandos o desde sus propias aplicaciones. Muchas de estas funciones
son
MATLAB M-archivos, serie de declaraciones Matlab que implementara
especializada

algoritmos de lgica difusa. Puede ver el cdigo de MATLAB para estas


funciones
mediante la instruccin
tipo function_name
Puede cambiar la forma de cualquier funcin de caja de herramientas funciona
mediante la copia y el cambio de nombre
el archivo-M, a continuacin, modificar su copia. Tambin puede extender la caja
de herramientas aadiendo
sus propios archivos .m.
En segundo lugar, la caja de herramientas proporciona una serie de herramientas
interactivas que le permiten acceder
muchas de las funciones a travs de una interfaz grfica de usuario. En conjunto,
las herramientas de interfaz grfica basada proporcionan
un entorno para el diseo del sistema de inferencia borrosa, anlisis y
implementacin.
La tercera categora de herramientas es un conjunto de bloques para su uso con el
Simulink
software de simulacin. Estos estn diseados especficamente para la lgica
difusa de alta velocidad
inferencia en el entorno Simulink.
pgina 11

7
Cmo usar esta gua
Si usted es nuevo en la lgica difusa, comenzar con el Captulo 1,
"Introduccin". Esta
captulo presenta la motivacin detrs de la lgica difusa y se introduce
suavemente
en el tutorial.
Si usted es un usuario experimentado lgica difusa, es posible que desee
iniciar en el
a partir del captulo 2, "Tutorial", para asegurarse de que est cmodo con el
terminologa de la lgica difusa en la Caja de herramientas de la lgica difusa. Si
lo que desea es una
visin general de cada herramienta grfica y los ejemplos de tareas del sistema
fuzzy especficos,
gire directamente a la seccin del captulo 2 titulado, "Sistemas de construccin
con el
Caja de herramientas de la lgica difusa. "Esta seccin no incluye informacin
sobre la
aplicacin de modelado de datos de adaptacin cubierto por la funcin de caja de
herramientas

ANFIS
. los
funcionalidad bsica de esta herramienta se puede encontrar en la seccin en el
Captulo 2 titulado,
"Anfis y el editor de interfaz grfica de usuario ANFIS."
Si lo que desea es comenzar tan pronto como sea posible y experimento,
puede abrir una
ejemplo de sistema de inmediato por tipificacin
volquete difusa
Esto nos lleva a el editor sistema de inferencia difusa (FIS) para una decisin de
ejemplo
haciendo que el problema tiene que ver con la forma de propina en un
restaurante.
Todos los usuarios deben utilizar la caja de herramientas Captulo 3, "referencia"
para obtener informacin sobre especfica
herramientas o funciones. Descripciones de referencia incluyen una sinopsis de la
funcin de
sintaxis, as como una explicacin completa de opciones y operacin. Muchos
descripciones de referencia tambin se incluyen ejemplos tiles, una descripcin
de la
El algoritmo de la funcin, y las referencias a material de lectura adicional. por
Herramientas basadas en GUI, las descripciones incluyen opciones para invocar
la herramienta.
Instalacin
Para instalar esta caja de herramientas en una estacin de trabajo o una gran
mquina, consulte la instalacin
Gua para UNIX. Para instalar la caja de herramientas en un PC o Macintosh,
consulte la
Gua de instalacin para PC y Macintosh.
Para determinar si la Caja de herramientas de la lgica difusa ya est instalado en
su sistema,
comprobar si hay un subdirectorio llamado
borroso
dentro del directorio principal o caja de herramientas
carpeta.
pgina 12

Antes de que empieces


8
Convenciones tipogrficas
Indicar
Esta gua se utilizan

Ejemplo
ejemplo de cdigo
monoespaciado
(Utilizar
Cdigo
etiqueta.)
Para asignar el valor a 5 A,
entrar
A=5
Funcin
nombres
monoespaciado
(Utilizar
Cdigo
etiqueta.)
los
cos
la funcin encuentra
coseno de cada matriz
elemento.
Funcin
sintaxis
monoespaciado
para el texto
que debe aparecer como
mostrado. (Etiqueta Aadido.)
cursiva Monoespacio
para
componentes que se pueden
reemplazar con ninguna variable.
(Etiqueta Aadido-ital.)
los
magia
el uso de funciones
la sintaxis
METRO
=
magia
(
norte
)

Llaves
Negrita con una inicial
letra mayscula
(Etiqueta Uso de mens-bodyText.)
Pulse la tecla de retorno.
Matemtico
expresiones
Las variables en cursiva.
Funciones, operadores y
constantes en la norma
tipo. (Utilizar
EquationVariables etiqueta.)
Este vector representa la
polinomio
p=x
2
+2x+3
MATLAB
salida
monoespaciado
(Utilizar
Cdigo
etiqueta.)
MATLAB responde con
A=
5
pgina 13

9
Los nombres de men,
elementos de men,
y controles
Negrita con una inicial
letra mayscula
(Etiqueta Uso de mens-bodyText.)
Elija el men Archivo.
Los nuevos trminos
cursiva NCS
(Etiqueta de texto-ital uso del cuerpo.)
Una matriz es un ordenado
coleccin de informacin.
Indicar

Esta gua se utilizan


Ejemplo
pgina 14

Antes de que empieces


10
pgina 15

1
Introduccin
Qu es la Lgica Difusa? . . . . . . . . . . . . . . . . 1-2
Por qu utilizar la lgica difusa?
. . . . . . . . . . . . . . . . 1-5
Cundo no utilizar la lgica difusa
. . . . . . . . . . . . . 1-6
Qu puede hacer la caja de herramientas Lgica Difusa hacer?
. . . . . . . . . 1-6
Un ejemplo introductorio: Fuzzy contra no-Fuzzy . . . . 1-8
El enfoque no-Fuzzy. . . . . . . . . . . . . . . 1-9
El mtodo de aproximacin. . . . . . . . . . . . . . . . . 1-13
Algunas observaciones. . . . . . . . . . . . . . . . . . 1-14
pgina 16

1
Introduccin
1-2
Qu es la Lgica Difusa?
La lgica difusa es todo acerca de la importancia relativa de la precisin: Qu
tan importante es
que sea lo correcto cuando una respuesta spera va a hacer? Todos los libros de
lgica difusa
comenzar con unas pocas buenas citas sobre este mismo tema, y esto no es una
excepcin. aqu
es lo que algunas personas inteligentes han dicho en el pasado:
La precisin no es verdad.
-Henri Matisse
A veces, las unidades ms mensurables fuera el ms importante.
-Ren Dubos
La vaguedad no es ms que ser eliminado en el mundo de la lgica de friccin
en
mecnica.
-Charles Sanders Peirce

Creo que nada es absolutamente verdadera, y por lo tanto soy contrario a todas
las
declaracin de la verdad positiva y todos los hombres que lo hace.
-HL Mencken
La medida en que las leyes de la matemtica se refieren a la realidad, no son
ciertas. Y entonces
la medida en que son ciertas, no se refieren a la realidad.
-Albert Einstein
A medida que aumenta la complejidad, las declaraciones precisas pierden
significado y enunciados significativos
perder precisin.
-Lotfi Zadeh
Algunas perlas de sabidura popular tambin se hacen eco de estos pensamientos:
No perder de vista el bosque por los rboles.
No sea penique sabio y libra tonto.
La Caja de herramientas de la lgica difusa para su uso con MATLAB es una
herramienta para resolver problemas
con la lgica difusa. La lgica difusa es un rea de investigacin fascinante, ya
que hace una
buen trabajo de la negociacin entre la importancia y precisin, algo que
los seres humanos han estado manejando durante mucho tiempo.
La lgica difusa a veces parece extico o de intimidar a los que no conocen
, pero una vez que se familiaricen con ella, parece casi sorprendente que ningn
se intentara antes. En este sentido, la lgica difusa es tanto antiguos como
nuevos, ya que,
pgina 17

Qu es la Lgica Difusa?
1-3
aunque la ciencia moderna y metdica de la lgica difusa es todava joven, la
conceptos de la lgica difusa llegan hasta los huesos.
La lgica difusa es una manera conveniente para asignar un espacio de entrada a
un espacio de salida. Esta
es el punto de partida para todo lo dems, y el gran nfasis aqu est en el
palabra "prctico".
Qu quiero decir mediante la asignacin de espacio de entrada al espacio de
salida? Aqu estn algunos
ejemplos: Usted me dicen lo bien que su servicio fue en un restaurante, y me
dirn
lo que la punta debe ser. Usted me dice lo caliente que desea que el agua, y voy a
ajustar la vlvula del grifo para el ajuste de la derecha. Usted me dice qu
distancia del

tema de su fotografa es, y voy a enfocar la lente para usted. Usted me dice cmo
rpidamente el coche va y lo difcil que el motor est funcionando, y voy a
cambiar las marchas
para ti.
Una masa de 1500 kg
se acerca
la cabeza en
45,3 m / seg.
MIRA
FUERA!!
Precisin
Significado
La precisin y la importancia en el mundo real
pgina 18

1
Introduccin
1-4
Un ejemplo grfico de un mapa de entrada-salida se muestra a continuacin.
Todo esto es slo una cuestin de entradas de mapeo a las salidas
apropiadas. Entre los
la entrada y la salida vamos a poner un cuadro negro que hace el trabajo. Lo que
podra ir en
el cuadro de negro? Cualquier nmero de cosas: los sistemas difusos, sistemas
lineales, experto
sistemas, redes neuronales, ecuaciones diferenciales, interpolados
tablas de bsqueda multi-dimensionales, o incluso un consejero espiritual, slo
para nombrar unos pocos
de las posibles opciones. Es evidente que la lista podra seguir y seguir.
De las docenas de maneras de hacer el trabajo de recuadro negro, resulta que es
difusa
a menudo la mejor manera. Por qu se debe? Como Lotfi Zadeh, considerado
para ser el padre de la lgica difusa, coment una vez: "En casi todos los casos se
puede
construir el mismo producto sin la lgica difusa, pero difusa es ms rpido y ms
barato ".
espacio de entrada
(todo el servicio posible
las calificaciones de calidad)
Espacio de salida
(todos los consejos posibles)
la punta "derecho"

por esta noche


servicio de esta noche
calidad
Un mapa de entrada-salida para el problema de inflexin:
"Teniendo en cuenta la calidad del servicio, cunto debo inclinar?"
Negro
Caja
pgina 19

Qu es la Lgica Difusa?
1-5
Por qu utilizar la lgica difusa?
Aqu est una lista de observaciones generales acerca de la lgica difusa.
La lgica difusa es conceptualmente fcil de entender.
Los conceptos matemticos detrs de razonamiento difuso son muy simples. Qu
hace agradable difusa es la "naturalidad" de su enfoque y no su alcance
complejidad.
La lgica difusa es flexible.
Con cualquier sistema dado, es fcil para un masaje o capa ms funcionalidad en
encima de l sin empezar de nuevo desde cero.
La lgica difusa es tolerante con los datos imprecisos.
Todo es imprecisa si se mira de cerca lo suficiente, pero ms que eso, la mayor
parte
cosas son imprecisos, incluso en una inspeccin cuidadosa. Razonamiento difuso
construye este
entender en el proceso en lugar de virar sobre el extremo.
La lgica difusa puede modelar funciones no lineales de complejidad arbitraria.
Se puede crear un sistema difuso para combinar con cualquier conjunto de datos
de entrada-salida. Esta
proceso se hace particularmente fcil por medio de tcnicas adaptativas como
ANFIS
(Adaptive Neuro-Fuzzy Inferencia Systems), que estn disponibles en el Fuzzy
Lgica Caja de herramientas.
La lgica difusa se puede construir en la parte superior de la experiencia de los
expertos.
En contraste directo con las redes neuronales, que tienen datos de entrenamiento
y generan
impenetrables, modelos opacos, lgica difusa permite que se basan en la
experiencia de
personas que ya entienden su sistema.
La lgica difusa se puede mezclar con tcnicas de control convencionales.

Sistemas difusos no necesariamente reemplazar los mtodos de control


convencionales. En
muchos casos los sistemas difusos aumentarlos y simplificar su aplicacin.
La lgica difusa se basa en el lenguaje natural.
La base de la lgica difusa es la base para la comunicacin humana. Esta
observacin sustenta muchas de las otras declaraciones acerca de la lgica difusa.
La ltima afirmacin es quizs la ms importante y merece ms
discusin. El lenguaje natural, lo que es utilizado por la gente comn en un diario
base, ha sido formado por miles de aos de historia humana para ser conveniente
y eficiente. Las oraciones escritas en el lenguaje ordinario representan un triunfo
de
comunicacin eficiente. En general, estamos conscientes de esto porque ordinaria
el lenguaje es, por supuesto, algo que usamos todos los das. Desde la lgica
difusa se construye
pgina 20

1
Introduccin
1-6
encima de las estructuras de descripcin cualitativa se utilizan en el lenguaje
cotidiano, borroso
lgica es fcil de usar.
Cundo no utilizar la lgica difusa
La lgica difusa no es una panacea. Cundo no debe utilizar la lgica difusa? Lo
ms seguro
declaracin es la primera que se hace en esta introduccin: la lgica difusa es un
cmodo
manera de asignar un espacio de entrada a un espacio de salida. Si encuentra que
no es conveniente,
intentar otra cosa. Si una solucin ms simple ya existe, lo utilizan. La lgica
difusa es la
codificacin del sentido comn de usar el sentido comn cuando se aplicaron y
es probable que tomar la decisin correcta. Muchos controladores, por ejemplo,
hacer una
buen trabajo sin necesidad de utilizar la lgica difusa. Sin embargo, si se toma el
tiempo para convertirse en
familiarizados con la lgica difusa, ver que puede ser una herramienta muy
poderosa para tratar
rpida y eficiente con la imprecisin y la no linealidad.
Qu puede hacer la caja de herramientas Lgica Difusa hacer?
La Caja de herramientas de la lgica difusa permite hacer varias cosas, pero la
mayor parte

Lo importante que le permite hacer es crear y editar sistemas de inferencia


difusos. T
puede crear estos sistemas utilizando herramientas grficas o funciones de lnea
de comandos, o
se puede generar de forma automtica utilizando la agrupacin o de adaptacin
tcnicas de neuro-difuso.
Si usted tiene acceso a Simulink, puede probar fcilmente su sistema difuso en un
bloque
entorno de simulacin diagrama.
La caja de herramientas tambin le permite ejecutar sus propios programas
independientes C directamente,
sin la necesidad de Simulink. Esto es posible gracias a un stand-alone Fuzzy
Motor de inferencia que lee los sistemas difusos guardados en una sesin de
MATLAB.
pgina 21

Qu es la Lgica Difusa?
1-7
Puede personalizar el motor autnomo para construir inferencia borrosa en su
el propio cdigo. Todo el cdigo proporcionado es compatible con ANSI.
Debido a la naturaleza integrada del entorno de MATLAB, puede crear
sus propias herramientas para personalizar la caja de lgica difusa o arns con
otro
caja de herramientas, tales como el Sistema de Control, Red neuronal, o
Optimization Toolbox,
por mencionar slo algunas de las posibilidades.
Borroso
Inferencia
Sistema
Autnomo
motor Fuzzy
MATLAB
Borroso
Lgica
Caja de instrumento
User-escrito
M-archivos
otras cajas de herramientas
Simulink
pgina 22

Introduccin
1-8
Un ejemplo introductorio: Fuzzy contra no-Fuzzy
Un ejemplo especfico sera de gran ayuda en este punto. Para ilustrar el valor de
lgica difusa, mostraremos dos enfoques diferentes para el mismo problema:
lineal
y difusa. En primer lugar vamos a trabajar a travs de este problema lo
convencional
forma (no clara), escribiendo comandos de MATLAB que explicar lineal y
las relaciones lineal a tramos. A continuacin, vamos a echar un vistazo rpido en
el mismo sistema
utilizando la lgica difusa.
Considere el problema de inflexin: cul es la cantidad "correcta" inclinar a su
mesero? Aqu es una declaracin clara del problema.
El vuelco de un problema bsico
.
Dado un nmero entre 0 y 10 que
representa la calidad de servicio en un restaurante (donde 10 es excelente), lo
debera ser la punta?
Nota Cultural: Este problema se basa en inflexin ya que se practica
tpicamente
en los Estados Unidos. Un media punta para una comida en los EE.UU. es del
15%, aunque el
cantidad real puede variar dependiendo de la calidad del servicio prestado.
pgina 23

Un ejemplo introductorio: Fuzzy contra no-Fuzzy


1-9
El enfoque no Fuzzy
Vamos a empezar con el ms simple posible relacin. Supongamos que la punta
siempre
es igual a 15% de la factura total.
punta = 0,15
Esto en realidad no tiene en cuenta la calidad del servicio, por lo que necesitamos
aadir un nuevo trmino de la ecuacin. Dado que el servicio se califica en una
escala de 0 a 10, se
podra tener la punta ir lineal desde 5% si el servicio es malo y el 25% si el
servicio
es excelente. Ahora, nuestra relacin se ve as:
punta = 0.20 / 10 * Servicio de + 0,05
0
2

4
6
8
10
0
0.05
0,1
0.15
0,2
0.25
Servicio
propina
0
2
4
6
8
10
0.05
0,1
0.15
0,2
0.25
Servicio
propina
pgina 24

1
Introduccin
1-10
Hasta aqu todo bien. La frmula hace lo que nosotros queremos que haga, y es
bastante
sencillo. Sin embargo, es posible que queramos la punta para reflejar la calidad
de la comida
as como. Esta extensin del problema se define como sigue:
El problema de vuelco extendido.
Dados dos conjuntos de nmeros entre 0 y 10
(donde 10 es excelente) que representan, respectivamente, la calidad del servicio
y
la calidad de la comida en un restaurante, lo que debera ser la punta?
Vamos a ver cmo la frmula se ver afectado ya que hemos aadido otra
variable. Supongamos que tratamos:

punta = 0.20 / 20 * (servicio + comida) 0,05;


En este caso, los resultados parecen bastante, pero cuando nos fijamos en ellos de
cerca,
no parecen del todo bien. Supongamos que desea que el servicio sea una ms
importante
0
5
10
0
5
10
0.05
0,1
0.15
0,2
0.25
Servicio
comida
propina
pgina 25

Un ejemplo introductorio: Fuzzy contra no-Fuzzy


1-11
factor de que la calidad de los alimentos. Digamos que el servicio va a
representar el 80% de
la inflexin "grado" en general y la comida conformarn el otro 20%. Tratar:
servRatio = 0,8;
(servicio de 0.20 / 10 * + 0,05) = punta servRatio * + ...
(1-servRatio) * (0.20 / 10 * alimentos + 0,05);
La respuesta sigue siendo de alguna manera lineal demasiado
uniforme. Supongamos que usted quiere ms de
una respuesta plana en el medio, es decir, se quiere dar una propina del 15% en
general, y
partir de esta meseta slo si el servicio es excepcionalmente bueno o malo.
Esto, a su vez, significa que esas bonitas aplicaciones lineales ya no se
aplican. Podemos
Todava salvar las cosas mediante el uso de una construccin lineal por
tramos. Volvamos a la
problema unidimensional de simplemente teniendo en cuenta el servicio. Usted
puede encadenar
juntos un simple instruccin condicional usando puntos de corte como este:
si el servicio <3,

punta = (0,10 / 3) * Servicio de + 0,05;


elseif servicio <7,
punta = 0,15;
elseif servicio <= 10,
punta = (0,10 / 3) * (servicio-7) 0,15;
fin
0
5
10
0
5
10
0.05
0,1
0.15
0,2
0.25
Servicio
comida
propina
pgina 26

1
Introduccin
1-12
La trama se parece a esto.
Si extendemos esto a dos dimensiones, donde los alimentos que tomamos en
cuenta de nuevo,
Algo como esto Resultados:
servRatio = 0,8;
si el servicio <3,
punta = ((0,10 / 3) * Servicio de + 0,05) * servRatio + ...
(1-servRatio) * (0.20 / 10 * alimentos + 0,05);
elseif servicio <7,
punta = (0.15) * servRatio + ...
(1-servRatio) * (0.20 / 10 * alimentos + 0,05);
ms,
punta = ((0,10 / 3) * (servicio-7) +0,15) * servRatio + ...
(1-servRatio) * (0.20 / 10 * alimentos + 0,05);
fin
0
2

4
6
8
10
0.05
0,1
0.15
0,2
0.25
Servicio
propina
0
5
10
0
5
10
0.05
0,1
0.15
0,2
0.25
Servicio
comida
propina
pgina 27

Un ejemplo introductorio: Fuzzy contra no-Fuzzy


1-13
Guauu! La trama se ve bien, pero la funcin es sorprendentemente
complicado. Era
un poco difcil de cdigo de esto correctamente, y definitivamente no es fcil de
modificar esta
cdigo en el futuro. Por otra parte, es an menos evidente cmo funciona el
algoritmo
a alguien que no presenciaron el proceso de diseo original.
El mtodo de aproximacin
Sera bueno si pudiramos capturar los elementos esenciales de este problema,
dejando
Dejando de lado todos los factores que podran ser arbitraria. Si hacemos una
lista de lo que realmente

asuntos en este problema, que podra terminar con las siguientes descripciones de
reglas:
1. Si el servicio es pobre, entonces la punta es barato
2. Si el servicio es bueno, entonces es media punta
3. Si el servicio es excelente, a continuacin, la punta es generoso
El orden en que se presentan aqu las reglas es arbitraria. No importa
qu reglas son lo primero. Si quisiramos incluir el efecto de la comida en la
punta, que
podra aadir las dos reglas siguientes:
4. Si la comida es rancio, a continuacin, la punta es barato
5. Si la comida es deliciosa, a continuacin, la punta es generoso
De hecho, podemos combinar las dos listas diferentes de reglas en una lista
cerrada de tres
reglas de este modo:
1. Si el servicio es deficiente o la comida es rancio, a continuacin, la punta es
barato
2. Si el servicio es bueno, entonces es media punta
3. Si el servicio es excelente o comida es deliciosa, a continuacin, la punta es
generoso
Estas tres reglas son el ncleo de nuestra solucin. Y coincidentemente,
acabamos de
define las reglas para un sistema de lgica difusa. Ahora bien, si nos damos
matemtica
significado a las variables lingsticas (lo que es una punta de "media", por
ejemplo?) nos
tendra un completo sistema de inferencia borrosa. Por supuesto, hay mucho
izquierda a la
metodologa de la lgica difusa que no estamos mencionando en este momento,
cosas como:
Cmo se combinan las reglas de todo?
Cmo se define matemticamente lo que una punta de "promedio" es?
Estas son preguntas que proporcionamos respuestas detalladas a en los prximos
captulos.
Los detalles del mtodo realmente no cambian mucho de un problema a otro
- La mecnica de la lgica difusa no son muy complejas. Lo que importa es lo
pgina 28

1
Introduccin
1-14
hemos demostrado en esta exposicin preliminar: difusa es adaptable, simple, y
de fcil aplicacin.

Aqu est la imagen asociada con el sistema difuso que resuelve este problema.
La imagen de arriba fue generada por las tres reglas anteriores. La mecnica de
Cmo funciona la inferencia borrosa se explica "The Big Picture" en la pgina
2-18 ,
"Fundamentos de la Lgica Difusa" en la pgina 2-20 , y en "sistemas de
inferencia difusos"
en la pgina 2-36 . En los "Sistemas de construccin con la Lgica Difusa Caja
de herramientas" en la pgina
2-45 , todo el problema de inflexin es trabajado mediante el uso de las
herramientas grficas en
la Caja de herramientas de Lgica Difusa.
algunas observaciones
Aqu hay algunas observaciones sobre el ejemplo hasta el
momento. Encontramos una a trozos
relacin lineal que resuelve el problema. Funcion, pero era algo as como una
molestia para derivar, y una vez que lo escribi como un cdigo, que no era muy
fcil
interpretar. Por otro lado, el sistema difuso se basa en un poco de "comn
sentido "declaraciones. Adems, hemos sido capaces de sumar dos reglas ms al
fondo de
la lista que influy en la forma de la produccin global sin necesidad de deshacer
lo que ya se haba hecho. En otras palabras, la modificacin posterior fue
muy fcil.
Por otra parte, mediante el uso de reglas de lgica difusa, el mantenimiento de la
estructura de la
algoritmo desacopla a lo largo de lneas bastante limpio. La nocin de una fuerza
media punta
cambiar de da en da, de ciudad en ciudad, de pas a pas, pero la lgica
subyacente
es la misma: si el servicio es bueno, la punta debe ser la media. Puede volver a
calibrar
el mtodo rpidamente simplemente cambiando el conjunto difuso que define la
media
sin reescribir las reglas difusas.
0
5
10
0
5
10
0.05

0,1
0.15
0,2
0.25
Servicio
comida
propina
pgina 29

Un ejemplo introductorio: Fuzzy contra no-Fuzzy


1-15
Usted puede hacer este tipo de cosas con las listas de funciones lineales por
partes, pero hay
una mayor probabilidad de que la recalibracin no ser tan rpida y simple.
Por ejemplo, aqu est el problema por partes de inflexin lineal ligeramente
reescrito para
que sea ms genrico. Se realiza la misma funcin que antes, solo que ahora el
constantes se pueden cambiar fcilmente.
Establecer constantes%
lowTip = 0,05; averTip = 0,15; highTip = 0,25;
tipRange = highTip-lowTip;
badService = 0; okayService = 3;
goodservice = 7; greatService = 10;
serviceRange = greatService-badService;
badFood = 0; greatfood = 10;
foodRange = greatfood-badFood;
% Si el servicio es deficiente o comida es rancia, la punta es barato
si el servicio <okayService,
punta = (((averTip-lowTip) / (okayService-badService)) ...
* Servicio de lowTip +) * servRatio + ...
(1-servRatio) * (tipRange / foodRange * + comida lowTip);
% Si el servicio es bueno, la punta es la media
elseif servicio <goodservice,
punta = averTip * servRatio + (1-servRatio) * ...
(tipRange / foodRange * + comida lowTip);
% Si el servicio es excelente o comida es deliciosa, la punta es generoso
ms,
punta = (((highTip-averTip) / ...
(greatService-goodservice)) * ...
(Servicio goodservice) + averTip) * servRatio + ...
(1-servRatio) * (tipRange / foodRange * + comida lowTip);
fin

Ntese la tendencia aqu, al igual que con todo el cdigo, por rastrero generalidad
para hacer que el
algoritmo ms y ms opaca, amenazante, finalmente, a oscurecerlo
completamente. Lo que estamos haciendo aqu no es (no debera ser!) Tan
complicado. Cierto,
podemos luchar contra esta tendencia a ser oscuro, aadiendo todava ms
comentarios, o
tal vez tratando de volver a escribir en poco ms formas evidentes por s mismas,
pero la
el medio no est de nuestro lado.
pgina 30

1
Introduccin
1-16
Lo verdaderamente fascinante observar es que si eliminamos todo a excepcin de
tres observaciones, lo que quedan son exactamente las reglas difusas Escribimos
antes de:
% Si el servicio es deficiente o comida es rancia, la punta es barato
% Si el servicio es bueno, la punta es la media
% Si el servicio es excelente o comida es deliciosa, la punta es generoso
Si, al igual que con un sistema difuso, el comentario es idntico al cdigo, piense
cmo
mucho ms probable es que su cdigo es tener comentarios! La lgica difusa
permite el lenguaje
eso es ms claro para usted, comentarios de alto nivel, tambin tienen un sentido
a la mquina,
es por ello que es una tcnica muy exitosa para cerrar la brecha entre
personas y las mquinas.
O creo que de esta manera: haciendo que las ecuaciones de lo ms simple posible
(lineales)
hacemos las cosas ms simples de la mquina, pero ms complicado para
nosotros. Pero
Realmente la limitacin ya no es el ordenador que es nuestro modelo mental de
lo
el equipo est haciendo. Todos sabemos que las computadoras tienen la
capacidad de hacer
cosas irremediablemente complejos; lgica difusa es realmente acerca de la
recuperacin de la mitad
suelo y dejar que la mquina funcione con nuestras preferencias en lugar de la
otro camino alrededor. Es cuestin de tiempo.

pgina 31

2
Tutorial
El panorama
. . . . . . . . . . . . . . . . . . 2-2
Fundamentos de la Lgica Difusa . . . . . . . . . . . . . 2-4
Sistemas de inferencia difusos . . . . . . . . . . . . . . 2-20
Sistemas de construccin con la Caja de herramientas de la lgica
difusa . . . . 2-29
Trabajando desde la lnea de comandos . . . . . . . . . . 2-49
Trabajando con Simulink . . . . . . . . . . . . . . . 2-62
Inferencia Difusa Sugeno-Type . . . . . . . . . . . . 2-70
ANFIS y el editor de interfaz grfica de usuario ANFIS . . . . . . . . . . . 2-76
Fuzzy Clustering . . . . . . . . . . . . . . . . . 2-104
Autnomo C-Fuzzy Cdigo Motor de inferencia . . . . 2-114
Glosario . . . . . . . . . . . . . . . . . . . . . 2-116
Referencias . . . . . . . . . . . . . . . . . . . . 2-118
pgina 32

2
Tutorial
2-18
El panorama
Vamos a empezar con un poco de motivacin para dnde nos dirigimos en este
captulo. los
punto de la lgica difusa consiste en asignar un espacio de entrada a un espacio
de salida, y el primario
mecanismo para hacer esto es una lista de declaraciones si-entonces llamados
reglas. todas las reglas
son evaluados en paralelo, y el orden de las reglas es importante. Las normas
s son tiles porque se refieren a las variables y los adjetivos que
describir esas variables. Antes de que podamos construir un sistema que
interpreta reglas,
tiene que definir todos los trminos que va a utilizar y los adjetivos que describen
ellos. Si queremos hablar de lo caliente es el agua, es necesario definir el rango
que la temperatura del agua se puede esperar que variar con el, as como lo que
decir con la palabra caliente. Estas son todas las cosas que discutiremos en la
prxima
varias secciones del manual. El siguiente diagrama es algo as como una hoja de
ruta
para el proceso de inferencia difusa. Muestra la descripcin general de un fuzzy
sistema de la izquierda y un sistema difuso especfico (el ejemplo de la inclinar

Introduccin) a la derecha.
Para resumir el concepto de inferencia borrosa se representa en esta figura, fuzzy
inferencia es un mtodo que interpreta los valores en el vector de entrada y, en
base
en algn conjunto de reglas, asigna valores al vector de salida.
Este captulo est diseado para guiarle a travs del proceso paso por la lgica
difusa
paso al proporcionar una introduccin a la teora y prctica de la lgica
difusa. los
tres primeros apartados de este captulo son los ms importantes, que se mueven
de
Entrada
El caso general ...
Un ejemplo especfico ...
Reglas
Entrada
condiciones
(interpretar)
Salida
condiciones
(asignar)
Salida
Servicio
si el servicio es pobre, entonces la punta es barato
si el servicio es bueno, entonces es media punta
si el servicio es excelente, entonces la punta es generoso
{pobre,
bueno,
excelente}
{barato,
promedio,
generoso}
Servicio
se interpreta como
propina
se asigna para ser
propina
pgina 33

El panorama
2-19

general a lo especfico, introduciendo primero las ideas subyacentes y luego


discutir
detalles de implementacin especficas para la caja de herramientas. Estas tres
reas son
Los fundamentos de la lgica difusa , que es una introduccin a lo general
conceptos. Si ya est familiarizado con la lgica difusa, es posible que desee
saltar
esta seccin.
sistemas de inferencia difusos , lo que explica los mtodos especficos de
fuzzy
inferencia utilizado en la Caja de herramientas de la lgica difusa. Puesto que el
campo de usos de lgica difusa
muchos trminos que no tienen an interpretaciones estndar, que debiera
considerar leer esta seccin slo para familiarizarse con la inferencia difusa
proceso, ya que se emplea aqu.
Los sistemas de construccin con la Caja de herramientas de la lgica
difusa , que entra en detalles
sobre la forma de construir y editar un sistema difuso usando esta caja de
herramientas. Esta
se presentan las herramientas de interfaz grfica de usuario disponibles en el
Fuzzy Logic
Caja de herramientas y le gua a travs de la construccin de una completa difusa
sistema de inferencia de principio a fin. Si lo que desea es ponerse al da como
pronto como sea posible, comience aqu.
Despus de esto, hay secciones que tocan una variedad de temas, tales como
Simulink
uso, generacin automtica de la regla, y demostraciones. Pero desde el punto de
vista
de conocer la caja de herramientas, estas tres primeras secciones son las ms
cruciales.
pgina 34

2
Tutorial
2-20
Fundamentos de la Lgica Difusa
Todo es vago en un grado que no se dan cuenta hasta que haya tratado de
hacerlo
precisa . -Bertrand Russell
fuzzy Sets
La lgica difusa se inicia con el concepto de un conjunto difuso. Un conjunto
difuso es un conjunto sin

quebradizo, lmite claramente definido. Puede contener elementos con slo


parcial
grado de pertenencia.
Para entender lo que es un conjunto difuso, considerar en primer lugar qu se
entiende por lo que
podra llamar a un conjunto clsico . Un conjunto clsico es un contenedor que
incluye total o
enteramente excluye cualquier elemento dado. Por ejemplo, el conjunto de das
de la semana
incuestionablemente incluye Lunes, jueves y sbado. Es tan
sin duda excluye la mantequilla, la libertad y aletas dorsales, y as sucesivamente.
Llamamos a este conjunto un conjunto clsico, ya que ha existido por mucho
tiempo. Eso
Aristteles fue el primero en formular la ley del tercero excluido, lo que dice
X debe ser en conjunto A o en conjunto no-A. Otra versin dice as:
De cualquier tema, una cosa debe estar bien afirmada o negada.
Aqu es una reafirmacin de la ley con las anotaciones: "De cualquier materia
(por ejemplo
Lunes), una cosa (siendo un da de la semana) debe ser ya sea afirmada o negada
(Afirmo que el lunes es un da de la semana) ". Esta ley exige que los opuestos,
Las dos categoras A y no-A, entre ellos deben contener la totalidad
universo. Todo cae en cualquiera de un grupo u otro. No hay nada
que es a la vez un da de la semana y no un da de la semana.
lunes
jueves
Libertad
Zapato
polaco
Dorsal
aletas
mantequilla
sbado
Das de la semana
pgina 35

Fundamentos de la Lgica Difusa


2-21
Consideremos ahora el conjunto de das que comprenden un fin de semana. El
siguiente diagrama es una
tentativa en clasificar los das de fin de semana.
La mayora estara de acuerdo en que los sbados y domingos pertenecen, pero
qu tal el viernes?

Se "siente" como una parte del fin de semana, pero de alguna manera parece que
debera ser
tcnicamente excluidos. As que en el diagrama anterior Viernes hace lo mejor
que sentarse en el
cerca. conjuntos clsicos o "normales" no toleraran este tipo de cosas. Ya sea
ests en o ests fuera. La experiencia humana sugiere algo diferente,
sin embargo: valla de sesin es parte de la vida.
Por supuesto que estamos en terreno difcil aqu, porque estamos empezando a
tomar individuo
percepciones y los antecedentes culturales en cuenta cuando nos definen lo
constituye el fin de semana. Pero esto es exactamente el punto. Incluso el
diccionario es
imprecisa, que define el fin de semana como "el perodo comprendido entre el
viernes por la noche o el sbado
al lunes por la maana ". Estamos entrando en el reino donde aristas vivas s-no
la lgica
deja de ser til. razonamiento difuso se convierte en valiosa exactamente cuando
estamos
hablando de cmo la gente percibe realmente el concepto "fin de semana" en
lugar de
una clasificacin simplista til slo para fines contables. Mas que
cualquier otra cosa, la siguiente declaracin sienta las bases de la lgica difusa:
En la lgica difusa, la verdad de cualquier enunciado se convierte en una
cuestin de grado .
Cualquier declaracin puede ser difusa. La herramienta que da razonamiento
difuso es la capacidad
para responder a una pregunta de s o no con un no-absolutamente-s o ninguna
respuesta. Este es el tipo
de lo que lo hacen los humanos todo el tiempo (creo que muy pocas veces se
obtiene una recta
Respuesta a una pregunta aparentemente simple), pero es un lugar nuevo truco
para
ordenadores.
Como funciona? Razonamiento en lgica difusa es slo una cuestin de
generalizar la
familiarizados s-no (booleano) la lgica. Si le damos a "verdadero" el valor
numrico de 1 y
lunes
jueves
Libertad
Zapato

polaco
Dorsal
aletas
mantequilla
sbado
domingo
Das del fin de semana
viernes
pgina 36

2
Tutorial
2-22
"Falso" el valor numrico de 0, estamos diciendo que la lgica difusa permite
tambin
valores intermedios como 0,2 y 0,7453. Por ejemplo:
Q: Es hoy un da de fin de semana?
A: 1 (s, o verdadero)
Q: Es el martes un da de fin de semana?
R: 0 (sin o falsa)
Q: Es el viernes un da de fin de semana?
A: 0,8 (en su mayor parte s, pero no completamente)
Q: Es hoy un da de fin de semana?
R: 0,95 (s, pero no tanto como el sbado).
Abajo, a la izquierda es un diagrama que muestra los valores de verdad de "fin de
semana-dad" si
se ven obligados a responder con un s o un no absoluto. A la derecha es una
representacin grfica
que muestra el valor de verdad de fin de semana-dad si se nos permite responder
con
difusa valores intermedios.
Tcnicamente, la representacin de la derecha es del dominio de varios valores
lgica (o lgica multivalente). Si hago la pregunta "Es X un miembro del
conjunto A?" La
respuesta podra ser s, no, o uno cualquiera de un millar de valores intermedios
en
Entre. En otras palabras, X podra tener miembros parcial en A. multivalor
lgica est en contraste directo con el concepto ms familiar de de dos valores (o
s o no) la lgica bivalente. Dos valores-lgica ha jugado un papel central en la
historia
de la ciencia desde Aristteles primera codificado, pero ha llegado el momento
para poder compartir

el escenario.
Volviendo a nuestro ejemplo, consideremos ahora un grfico de tiempo escala
continua de
de fin de semana-dad se muestra a continuacin.
Los das de la membresa de fin de semana con varios valores
-dad de fin de semana
-dad de fin de semana
viernes
sbado
domingo
lunes
jueves
1.0
0.0
Das de fin de semana, el nmero de miembros de dos valorado
viernes
sbado
domingo
lunes
jueves
1.0
0.0
pgina 37

Fundamentos de la Lgica Difusa


2-23
Al hacer que la trama continua, estamos definiendo el grado en que cualquier
dado
instantnea pertenece en el fin de semana en lugar de un da entero. En la trama
de la
la izquierda, observe que en la medianoche del viernes, al igual que los barridos
de segunda mano pasados 12,
el valor de verdad de fin de semana-dad salta discontinua desde 0 a 1. Esta es una
manera de definir el fin de semana, y si bien puede ser til para un contador, se
en realidad no se conecte con nuestra experiencia del mundo real de fin de
semana-dad.
La trama de la derecha muestra una curva suavemente variable que explica el
hecho de
que todos los viernes, y, en menor grado, las piezas del jueves, participan de la
calidad de fin de semana-dad y por lo tanto merecen la adhesin parcial en el
conjunto difuso

de momentos de fin de semana. La curva que define el fin de semana-dad de


cualquier instantnea
en el tiempo es una funcin que mapea el espacio de entrada (tiempo de la
semana) a la salida
el espacio (fin de semana-dad). En concreto se conoce como una funcin de
pertenencia . Bien
discutir esto con ms detalle en la siguiente seccin.
Como otro ejemplo de conjuntos difusos, examinar la cuestin de las
estaciones. Qu
temporada es que en este momento? En el hemisferio norte, el verano comienza
oficialmente a las
el momento exacto en la rbita de la tierra, cuando el Polo Norte se seal ms
directamente hacia el sol. Ocurre exactamente una vez al ao, a finales de
junio. Utilizando el
definiciones astronmicas para la temporada, obtenemos lmites ntidos, como se
muestra en
La izquierda en la figura de la pgina siguiente. Pero lo que experimentamos
como las estaciones del ao
vara ms o menos continua, como se muestra a la derecha a continuacin (en
templado
climas del hemisferio norte).
Los das de la membresa de fin de semana con varios valores
-dad de fin de semana
-dad de fin de semana
viernes
sbado
domingo
lunes
jueves
1.0
0.0
Das de fin de semana, el nmero de miembros de dos valorado
viernes
sbado
domingo
lunes
jueves
1.0
0.0
pgina 38

Tutorial
2-24
Funciones de Pertenencia
Una funcin de pertenencia (MF) es una curva que define la forma en cada punto
de la entrada
el espacio se asigna a un valor de pertenencia (o grado de pertenencia) entre 0
y 1. El espacio de entrada se refiere a veces como el universo de discurso , una
nombre de fantasa para un concepto simple.
Uno de los ejemplos ms comunes de un conjunto difuso es el conjunto de
personas altas.
En este caso, el universo de discurso es todas las alturas posibles, digamos de 3
pies de
9 pies, y la palabra "alto" que corresponderan a una curva que define el grado
a la que cualquier persona es muy alta. Si se da el conjunto de las personas altas
del bien definidas
(Quebradizo) lmite de un conjunto clsico, podramos decir todas las personas
ms altas de seis pies
son considerados oficialmente de altura. Pero tal distincin es claramente
absurdo. Puede
sentido considerar el conjunto de todos los nmeros reales mayores de seis
PORQUE
nmeros pertenecen a un plano abstracto, pero cuando quieren hablar de
verdadera
la gente, no es razonable llamar a una persona de baja estatura y otro alto cuando
difieren en altura por el grosor de un cabello.
Pero si el tipo de distincin se muestra arriba no es viable, entonces cul es la
derecha
manera de definir el conjunto de las personas altas? Tanto como con nuestra
parcela de das de fin de semana, la
Tiempo del ao
marzo
marzo
primavera
verano
otoo
invierno
junio
septiembre
diciembre
1.0
0.0

la licenciatura
de
miembroenviar
la licenciatura
de
miembroenviar
Tiempo del ao
marzo
marzo
primavera
verano
otoo
invierno
junio
septiembre
diciembre
1.0
0.0
Debes
ser ms alto
que esto
lnea ser
considerado
ALTO
excelente!
pgina 39

Fundamentos de la Lgica Difusa


2-25
siguiente figura muestra una curva suavemente variable que pasa de no-alto para
alto.
La salida del eje es un nmero conocido como el valor de pertenencia entre 0 y 1.
La curva que se conoce como una funcin de pertenencia y, a menudo se da la
designacin de . Esta curva define la transicin de no muy alto a alto. Ambos
personas son altos en cierto grado, pero uno es significativamente menos alto que
el otro.
interpretaciones subjetivas y unidades apropiadas estn integradas en conjuntos
difusos.
Si digo "Ella es alta," la funcin de pertenencia "de altura" ya debera tener en
cuenta si me refiero a un nio de seis aos de edad o una mujer adulta. Similar,

las unidades se incluyen en la curva. Ciertamente no tiene sentido decir "Es ella
de altura en pulgadas o en metros? "
Las funciones de pertenencia en la caja de herramientas Lgica Difusa
La nica condicin que una funcin de pertenencia realmente debe cumplir es
que debe
variar entre 0 y 1. La funcin de s mismo puede ser una curva arbitraria cuya
altura
grado de
membresa,
sin duda, un alto
persona (
= 0,95)
1.0
0.0
realmente no es muy
de altura en absoluto (
= 0,30)
Afilado
afiliacin
funcin para
ALTO
altura
grado de
membresa,
alto (
= 1,0)
1.0
0.0
no muy alto ( = 0,0)
continuo
afiliacin
funcin para
ALTO
pgina 40

2
Tutorial
2-26
dar forma podemos definir como una funcin que se adapte a nosotros desde el
punto de vista de la
simplicidad, comodidad, rapidez y eficiencia.
Un conjunto clsica podra ser expresado como
A = { x | x > 6}

Un conjunto difuso es una extensin de un conjunto clsico. Si X es el universo


de discurso
y sus elementos se indican con x , a continuacin, un conjunto borroso en X se
define como un conjunto de
pares ordenados:
A = { x ,
UN
( X ) | x X}

UN
( X ) se llama la funcin de pertenencia (o MF) de x en A. El nmero de
miembros
funcin de los mapas de cada elemento de X a un valor de pertenencia entre 0 y
1.
La Caja de herramientas de la lgica difusa incluye 11 tipos de funciones de
pertenencia incorporadas.
Estas 11 funciones estn, a su vez, construidos a partir de varias funciones
bsicas: a trozos
funciones lineales, la funcin de distribucin de Gauss, la curva sigmoide, y
curvas polinmicas de segundo grado y cbicas. Para obtener informacin
detallada sobre cualquiera de los
funciones de pertenencia se mencionan a continuacin, se vuelven a C ap tulo 3,
"Referencia" . Por
convencin, todas las funciones de pertenencia tienen las letras
mf
al final de su
nombres.
Las funciones de pertenencia ms simples se forman utilizando lneas rectas. De
estos,
La ms sencilla es la triangular funcin de pertenencia, y tiene la funcin de
nombre
trimf
. No es nada ms que una coleccin de tres puntos que forman una
tringulo. El trapezoidal funcin de pertenencia,
trapmf
, Tiene una parte superior plana y
Realmente es una curva de tringulo truncado. Estos membresa lnea recta
funciones tienen la ventaja de la simplicidad.
0
2
4

6
8
10
0
0.25
0,5
0.75
1
trimf, P = [3 6 8]
trimf
0
2
4
6
8
10
0
0.25
0,5
0.75
1
trapmf, P = [1 5 7 8]
trapmf
pgina 41

Fundamentos de la Lgica Difusa


2-27
Dos funciones de pertenencia se construyen en la gaussiana curva de
distribucin: un
sencillo curva de Gauss y un material compuesto de dos caras de dos Gaussian
diferente
curvas. Las dos funciones son
gaussmf
y
gauss2mf
.
La campana generalizada funcin de pertenencia se especifica mediante tres
parmetros y
tiene el nombre de la funcin
gbellmf
. La funcin de pertenencia de campana tiene una ms
parmetro de la funcin de pertenencia de Gauss, lo que puede acercarse a una

conjunto no difuso si el parmetro libre se sintoniza. Debido a su suavidad y


notacin concisa, funciones de pertenencia gaussianas y los botones son muy
populares
mtodos para especificar los conjuntos borrosos. Ambas curvas tienen la ventaja
de
siendo suave y distinto de cero en todos los puntos.
Aunque las funciones de pertenencia gaussianas y funciones de pertenencia de
campana
lograr suavidad, no son capaces de especificar la pertenencia asimtrica
funciones, que son importantes en ciertas aplicaciones. A continuacin se define
el
sigmoidal funcin de pertenencia, que es dejado abierta o hacia la
derecha. Asimtrico
y cerradas (es decir, no abierto a la izquierda oa la derecha) funciones de
pertenencia pueden ser
sintetizado utilizando dos funciones sigmoideas, lo que adems de la bsica
sigmf
, nosotros
Tambin tiene la diferencia entre dos funciones sigmoideas,
dsigmf
, y el
producto de dos funciones sigmoideas
psigmf
.
curvas polinmicas basadas representan varias de las funciones de pertenencia de
la caja de herramientas. Tres funciones de pertenencia son los relacionados
con Z, S , y las curvas de Pi , todo
0
2
4
6
8
10
0
0.25
0,5
0.75
1
gaussmf, P = [2 5]
gaussmf
0

2
4
6
8
10
0
0.25
0,5
0.75
1
gauss2mf, P = [1 3 3 4]
gauss2mf
0
2
4
6
8
10
0
0.25
0,5
0.75
1
gbellmf, P = [2 4 6]
gbellmf
0
2
4
6
8
10
0
0.25
0,5
0.75
1
dsigmf, P = [5 2 5 7]
dsigmf
0
2
4

6
8
10
0
0.25
0,5
0.75
1
psigmf, P = [2 3 -5 8]
psigmf
0
2
4
6
8
10
0
0.25
0,5
0.75
1
sigmf, P = [2 4]
sigmf
pgina 42

2
Tutorial
2-28
nombre debido a su forma. La funcin
ZMF
es la asimtrico
curva polinmica abierta a la izquierda,
SMF
es la funcin de imagen especular que se abre
a la derecha, y
pimf
es cero en ambos extremos con un aumento en el medio.
Hay una muy amplia seleccin para elegir cuando se est seleccionando su
favorito
Funcin de la membresa. Y la Caja de herramientas de Lgica Difusa tambin le
permite crear

sus propias funciones de pertenencia si encuentra esta lista demasiado


restrictiva. En el otro
parte, si esta lista parece desconcertante, slo recuerda que probablemente podra
conseguir
lleva muy bien con slo uno o dos tipos de funciones de pertenencia, por
ejemplo,
El tringulo y trapezoidales funciones. La seleccin es amplia para aquellos que
quieren
para explorar las posibilidades, pero las funciones de pertenencia exticos son de
ninguna manera
requerido para perfectamente buenos sistemas de inferencia difusos. Por ltimo,
recordar que
Ms detalles estn disponibles en todas estas funciones en la seccin de
referencia, los cuales
constituye la segunda mitad de este manual.
Resumen de funciones de pertenencia
Los conjuntos difusos se describen conceptos vagos (corredor rpido, el calor,
el fin de semana
das).
Un conjunto difuso admite la posibilidad de la adhesin parcial en ella. (Viernes
es una especie
de un da de fin de semana, el clima es bastante caliente).
El grado un objeto pertenece a un conjunto difuso se denota por un valor de
pertenencia
entre 0 y 1. (viernes es un da de fin de semana con el grado 0,8).
Una funcin de pertenencia asociado a un conjunto difuso dado mapea una
entrada
valor a su valor de pertenencia apropiado.
Operaciones lgicas
Ahora sabemos lo que es difusa acerca de la lgica difusa, pero qu pasa con la
lgica?
Lo ms importante tener en cuenta sobre el razonamiento lgico difuso es el
hecho
que es un superconjunto de la lgica booleana estndar. En otras palabras, si
mantenemos el
0
2
4
6
8
10

0
0.25
0,5
0.75
1
pimf, P = [1 4 5 10]
pimf
0
2
4
6
8
10
0
0.25
0,5
0.75
1
SMF, P = [1 8]
ZMF
0
2
4
6
8
10
0
0.25
0,5
0.75
1
ZMF, P = [3 7]
SMF
pgina 43

Fundamentos de la Lgica Difusa


2-29
valores difusos en sus extremos de 1 (totalmente cierto), y 0 (completamente
falso),
operaciones lgicas estndar sostendrn. Como ejemplo, considerar la norma
por debajo de las tablas de verdad:

Ahora recordando que en la lgica difusa la verdad de cualquier afirmacin es


una cuestin de
grado, cmo se alteran estos tablas de verdad? Los valores de entrada pueden ser
reales
nmeros entre 0 y 1. Qu funcin preserven los resultados de la Y
tabla de verdad (por ejemplo) y tambin se extienden a todos los nmeros reales
entre 0 y 1?
Una respuesta es el min operacin. Es decir, resolver la declaracin Una Y B ,
donde A y B estn limitados a la gama (0,1), utilizando la funcin min ( A , B ).
Usando el mismo razonamiento, podemos sustituir la operacin O con el mximo
funcin, de modo que A OR B se vuelve equivalente a max ( A, B ). Por ltimo, la
La operacin no A se vuelve equivalente a la operacin
. Ntese cmo el
tabla de verdad de arriba es completamente inalterado por esta sustitucin.
Adems, dado que hay una funcin de detrs de la tabla de verdad en lugar de
slo la
tabla de verdad en s, ahora podemos considerar los valores distintos de 0 y 1.
La siguiente figura utiliza un grfico para mostrar la misma informacin. Hemos
convertido
la tabla de verdad de una parcela de dos conjuntos borrosos aplicadas en forma
conjunta para crear una difusa
Y
0
0
1
1
UN
segundo
AyB
UN
segundo
AoB
UN
no es una
0
1
0
1
0
0
0

1
O
0
0
1
1
0
1
0
1
0
1
1
1
NO
0
1
1
0
1A
Y
0
0
1
1
UN
segundo
min (A, B)
UN
segundo
max (A, B)
UN
1-A
0
1
0
1
0
0
0

1
O
0
0
1
1
0
1
0
1
0
1
1
1
NO
0
1
1
0
pgina 44

2
Tutorial
2-30
conjunto. La parte superior de la figura muestra parcelas correspondientes a los
dos de valor
por encima de las tablas de verdad, mientras que la parte inferior de la figura
muestra cmo el
operaciones funcionan en un rango de variacin continua de valores de
verdad A y B
de acuerdo con las operaciones difusas que hemos definido.
Teniendo en cuenta estas tres funciones, podemos resolver cualquier construccin
usando conjuntos difusos
y la operacin lgica difusa AND, OR y NOT.
Operadores difusos adicionales
Nosotros slo hemos definido aqu una correspondencia especfica entre dos
valores,
y multivalued operaciones lgicas de AND, OR y NOT. Esta
la correspondencia de ninguna manera es nico.
En trminos ms generales, estamos definiendo lo que se conoce como la
interseccin borrosa
o conjuncin (Y), unin o separacin difusa (O), y el complemento difusa

(NO). Hemos definido por encima de lo que llamaremos los operadores clsicos
para estos
funciones: Y = min , O = max , y NO = complemento aditivo. Tpicamente
la mayora de las aplicaciones de lgica difusa hacen uso de estas operaciones y
dejarlo en eso.
En general, sin embargo, estas funciones son arbitrarias en un grado
sorprendente. los
Caja de herramientas de la lgica difusa se utiliza el operador clsico para el
complemento difusa como
se muestra ms arriba, sino que tambin le permite personalizar el AND y OR
operadores.
La interseccin de dos conjuntos borrosos A y B se especifica en general por un
binario
mapeo de T , que agrega dos funciones de pertenencia de la siguiente manera:

A B
(X)=T(
UN
( X ),
segundo
( X ))
Y
AyB
De dos valores
lgica
multivalor
lgica
AyB
UN
segundo
UN
UN
segundo
segundo
UN
segundo
AoB
AoB
UN
UN
no es una

no es una
O
NO
min (A, B)
max (A, B)
(1-A)
pgina 45

Fundamentos de la Lgica Difusa


2-31
Por ejemplo, el operador binario T puede representar la multiplicacin de
. Estos operadores de interseccin difusos, que son generalmente
conocidas como T- norma (norma triangular) los operadores, cumplan con los
siguientes bsica
requisitos.
Un T-norma operador es una asignacin binario T (
) Satisfactoria:
lmite : T (0, 0) = 0, T ( un , 1) = T (1, a) = a
monotonicidad : T (a, b) <= T (c, d) si a <= c y b <= d
conmutatividad : T (a, b) = T (b, a)
asociatividad : T (a, T (b, c)) = T (T (a, b), c)
El primer requisito impone la generalizacin correcta a crujientes conjuntos. los
segundo requisito implica que una disminucin en los valores de pertenencia
en una o
B no puede producir un aumento en el valor de la pertenencia
a una interseccin B . los
tercero requisito indica que el operador es indiferente a la orden de la
conjuntos difusos para ser combinados. Por ltimo, el cuarto requisito nos
permite tomar la
interseccin de cualquier nmero de conjuntos en cualquier orden de las
agrupaciones por pares.
Al igual que la interseccin borrosa, el operador de unin difusa se especifica, en
general, por una
binaria mapeo S :

A B
(X)=S(
UN
( X ),
segundo
( X ))

Por ejemplo, el operador binario S puede representar la adicin de


. Estos operadores de la Unin difusos, que a menudo se hace referencia como
T -conorm (o S -norma) operadores, debe cumplir los siguientes requisitos
bsicos.
Un T-conorma (o S-norma ) es un operador de asignacin binario S (
) Satisfactoria:
lmite : S (1, 1) = 1, S ( a, 0 ) = S ( 0 , a) = a
monotonicidad : S (a, b) <= S (c, d) si a <= c y b <= d
conmutatividad : S (a, b) = S (b, a)
asociatividad : S (a, S (b, c)) = S (S (a, b), c)
Varios parametrizados T -norms y doble T -conorms se han propuesto en el
pasado, tales como los de Yager [Yag80], Dubois y Prade [Dub80], Schweizer y
Sklar [Sch63], y Sugeno [Sug77]. Cada uno de stos proporciona una manera de
variar la
"Ganancia" en la funcin de manera que pueda ser muy restrictivas o muy
permisivo.

UN
x y
segundo
x
.
,
.

UN
x y
segundo
x
.
,
.
pgina 46

2
Tutorial
2-32
Si-Entonces Reglas
Los conjuntos difusos y operadores difusos son los sujetos y los verbos de la
lgica difusa. Estas

si-entonces descartar declaraciones se utilizan para formular las declaraciones


condicionales que
comprender la lgica difusa.
Una sola difusa si-entonces regla supone la forma
Si x es A continuacin, y es B
donde A y B son valores lingsticos definidos por conjuntos difusos en los
rangos
(universos de discurso) X e Y, respectivamente. La parte-si de la regla " x es A "
es
llama el antecedente o local, mientras que el entonces parte de la regla " y es B "
se llama
la consecuente o conclusin. Un ejemplo de una norma de este tipo podra ser
si el servicio es bueno, entonces es media punta
Tenga en cuenta que buena se representa como un nmero entre 0 y 1, y por lo
que la
antecedente es una interpretacin que devuelve un nico nmero entre 0 y 1.
Por otra parte, la media se representa como un conjunto difuso, y as la
consiguiente
es una asignacin que asigna todo el conjunto difuso B a la variable de
salida y . En
la si-entonces gobernar, la palabra "es" se utiliza de dos maneras completamente
diferentes
dependiendo de si aparece en el antecedente o el consecuente. En
MATLAB trminos, se trata de la distincin entre una prueba relacional
utilizando "==" y
una asignacin variable mediante el smbolo "=". Una manera menos confusa de
la escritura
regla sera
si el servicio == bueno, entonces la punta = Media
En general, la entrada a una regla de si-entonces es el valor actual de la entrada
variable (en este caso, el servicio ) y la salida es todo un conjunto difuso (en este
caso,
promedio ). Este conjunto ms adelante se defuzzificado asignar un valor a la
salida.
El concepto de defuzzification se describe en la siguiente seccin, en la pgina 241 .
Interpretacin de los si-entonces regla implica partes bien diferenciadas: la
primera evaluacin de la
antecedente (que implica fuzzifying la entrada y la aplicacin de cualquier
necesario

operadores difusos ) y segundo aplicando el resultado a la consecuente


(conocidos como
implicacin ). En el caso de dos de valor o de la lgica binaria, reglas si-entonces
no lo hacen
presentar mucha dificultad. Si la premisa es verdadera, entonces la conclusin es
verdadera. Si nosotros
relajar las restricciones de dos-valorada lgica y dejar que el antecedente sea un
difuso
declaracin, cmo se refleja esto en la conclusin? La respuesta es muy sencilla:
pgina 47

Fundamentos de la Lgica Difusa


2-33
si el antecedente es cierto hasta cierto grado de pertenencia, y luego la
consiguiente es
Tambin es cierto que al mismo grado. En otras palabras
en la lgica binaria: p
q ( p y q son ambos verdaderos o ambos falsos)
en la lgica difusa: 0,5 p 0,5 q (antecedentes parciales proporcionan
implicacin parcial)
El antecedente de una regla puede tener varias partes:
Si el cielo es gris y el viento es fuerte y el barmetro est cayendo, entonces ...
en cuyo caso todas las partes del antecedente se calculan simultneamente y
resuelto a un solo nmero utilizando los operadores lgicos descritos en el
seccin anterior. El consecuente de una regla tambin puede tener varias partes:
si la temperatura es fra y luego la vlvula de agua caliente est abierta la
vlvula de agua fra y se cierra
en cuyo caso todos los consecuentes se ven afectados por igual por el resultado
de la
antecedente. Cmo se ve afectada por la consecuente del antecedente? La
consiguiente
especifica un conjunto difuso se asigna a la salida. La funcin de implicacin a
continuacin,
modifica que en lgica difusa en el grado especificado por el antecedente. El ms
las formas ms comunes para modificar el conjunto de salida difusa se utilizan el
truncamiento min
la funcin (en el que el conjunto difuso se "cort", como se muestra a
continuacin) o escalar utilizando
la prod funcin (en el que el conjunto de salida difusa est "aplastado"). Ambos
son
apoyada por la Lgica Difusa Caja de herramientas, pero usamos el truncamiento
de los ejemplos

en esta seccin.
pgina 48

2
Tutorial
2-34
Resumen de las reglas si-entonces
Interpretacin de reglas si-entonces es un proceso de tres partes. Este proceso se
explica en
detalle en la siguiente seccin.
delicioso
excelente
generoso
Si el servicio es excelente
la comida es deliciosa
entonces
o
punta = generosa
alimentos (quebradizo)
punta (difusa)
servicio (quebradizo)
3. Aplicar
implicacin
operador (min)
2. Aplicar
operador OR
(max)
1. Fuzzify
entradas

(== Comida deliciosa)


= 0 0.7

(Servicio excelente ==)


= 0 .0
min (0,7, generoso)
Antecedente
Consiguiente
0.0
0,7
0,7
Si

(0,0
0.7)
entonces
o
punta = generosa
max (0.0, 0.7) = 0.7
Si
(0,7)
a continuacin, la punta = generosa
0.0
0,7
0,7
pgina 49

Fundamentos de la Lgica Difusa


2-35
1
Fuzzify entradas : resolver todos los estados difusos en el antecedente de un
grado de
composicin entre 0 y 1. Si slo hay una parte a la antecedente, este
es el grado de apoyo a la regla.
2
Aplicar operador difusa para mltiples antecedentes parciales : Si hay varias
piezas
al antecedente, se aplican los operadores de lgica difusa y resolver el
antecedente
un nico nmero entre 0 y 1. Este es el grado de apoyo a la regla.
3
Aplicar el mtodo implica : Utilice el grado de apoyo a toda la regla de
dar forma al conjunto difuso de salida. El consecuente de una regla difusa asigna
un entero
conjunto difuso a la salida. Este conjunto difuso es representado por un nmero
de miembros
funcin que se elige para indicar las cualidades de la consiguiente. Si el
antecedente es slo parcialmente cierto, (es decir, se asigna un valor inferior a 1),
entonces
el conjunto difuso de salida est truncado de acuerdo con el mtodo de
implicacin.
En general, una regla por si mismo no hace mucho bien. Lo que se necesita son
dos o
ms reglas que pueden desempear una con la otra. La salida de cada regla es un
conjunto difuso.

Los conjuntos difusos de salida para cada regla son luego agregados en una sola
salida
conjunto difuso. Por ltimo, el conjunto resultante se defuzzificado , o se resuelve
en un nico
nmero. La seccin siguiente muestra cmo funciona todo el proceso desde el
principio
a fin para un tipo particular de sistema de inferencia borrosa llamado un tipo
Mamdani.
pgina 50

2
Tutorial
2-36
Sistemas de inferencia difusos
inferencia difusa es el proceso de formulacin de la mapeo de una entrada dada
a una salida utilizando la lgica difusa. El mapeo continuacin, proporciona una
base de la cual
se pueden tomar decisiones, o patrones de discernir. El proceso de inferencia
difusa
implica que todas las piezas que se describen en los apartados anteriores:
funciones de pertenencia, operadores de lgica difusa, y reglas si-entonces. Hay
dos
tipos de sistemas de inferencia difusos que pueden ser implementadas en la
Lgica Difusa
Caja de herramientas: de tipo Mamdani y Sugeno-tipo. Estos dos tipos de
sistemas de inferencia
variar un poco en el camino se determinan las salidas. Las descripciones de estos
dos
tipos de sistemas de inferencia difusos se pueden encontrar en las referencias
[Jan97,
Mam75, Sug85].
sistemas de inferencia difusos se han aplicado con xito en campos como la
control automtico, la clasificacin de datos, anlisis de decisin, sistemas
expertos, y
visin por computador. Debido a su carcter multidisciplinar, inferencia borrosa
basan-Fuzzy-regla sistemas estn asociados con una serie de nombres, tales como
sistemas expertos, sistemas difusos, modelado difuso, memoria asociativa difusa,
controladores borrosos y lgica, simplemente (y ambiguamente) sistemas
difusos. Dado que la
trminos utilizados para describir las diversas partes del proceso de inferencia
difusa son mucho

desde estndar, vamos a tratar de ser lo ms claro posible sobre los diferentes
trminos
introducido en esta seccin.
mtodo de inferencia borrosa de Mamdani es el ms comnmente se ve borrosa
metodologa. mtodo de Mamdani fue uno de los primeros sistemas de control
integrados
utilizando la teora de conjuntos difusos. Fue propuesto en 1975 por Ebrahim
Mamdani [Mam75]
como un intento de controlar una mquina de vapor y la combinacin de caldera
mediante la sntesis de
un conjunto de reglas de control lingsticas obtiene a partir de los operadores
humanos experimentados.
esfuerzo de Mamdani se bas en 1973 Lotfi Zadeh papel de sobre algoritmos
difusos
para los sistemas complejos y procesos de toma [Zad73]. Aunque la inferencia
proceso que describimos en las siguientes secciones difiere un poco de los
mtodos
se describe en el documento original, la idea bsica es la misma.
De tipo Mamdani de inferencia, como lo hemos definido para la Lgica Difusa
Caja de herramientas,
espera que las funciones de pertenencia de salida para ser conjuntos
difusos. Despus de la
proceso de agregacin, hay un conjunto difuso para cada variable de salida que
necesita
defuzzification. Es posible, y en muchos casos mucho ms eficiente, para utilizar
una
pico sencillo como la funcin de pertenencia de salida en lugar de un difuso
distribuido
conjunto. Esto a veces se conoce como un singleton funcin de pertenencia de
salida, y
que puede ser pensado como un conjunto difuso pre-defuzzificados. Se mejora la
eficiencia de
el proceso defuzzification porque simplifica en gran medida el clculo
pgina 51

Sistemas de inferencia difusos


2-37
requerido por el mtodo de Mamdani ms general, que encuentra el centro de
gravedad de una
funcin de dos dimensiones. En lugar de la integracin a travs de la de dos
dimensiones

funcionar para encontrar el centro de gravedad, se utiliza el promedio ponderado


de los pocos puntos de datos.
sistemas de tipo Sugeno admiten este tipo de modelo. En, Sugeno-tipo general
sistemas se pueden utilizar para modelar cualquier sistema de inferencia en el que
la salida
funciones de pertenencia son bien lineal o constante.
Cena para dos, Reprise
En esta seccin proporcionamos el mismo de dos entradas de una sola salida de
inflexin de tres regla
problema que se vio en la introduccin, slo en ms detalle. Lo bsico
estructura de este ejemplo se muestra en el siguiente diagrama.
La informacin fluye de izquierda a derecha, de dos entradas a una nica
salida. los
naturaleza paralela de las reglas es uno de los aspectos ms importantes de la
lgica difusa
sistemas. En lugar de afilado de conmutacin entre los modos en base a los
puntos de interrupcin, nos
se deslizar suavemente de regiones en las que el comportamiento del sistema
est dominado por
ya sea una regla u otra.
En el Cuadro de Lgica Difusa, hay cinco partes del proceso de inferencia difusa:
fuzzification de las variables de entrada, la aplicacin del operador fuzzy (Y o
O) en el antecedente, la implicacin del antecedente al consecuente,
la agregacin de los consecuentes a travs de las reglas, y defuzzification. Estas
a veces nombres crpticos e impares tienen un significado muy especfico que
vamos a definir
cuidadosamente a medida que avanzamos a travs de cada uno de ellos con ms
detalle a continuacin.
entrada 1
Servicio (0-10)
Salida
Punta (5-25%)
entrada 2
Alimentos (0-10)

Cena para dos


una entrada de 2, 1 salida, sistema de 3 regla
Todas las reglas son
evaluada en paralelo
utilizando difusa
razonamiento.

Los resultados de las reglas


se combinan y se
destilada (defuzzificados).
El resultado es un crujiente
(No clara) nmero.
Las entradas son ntidas
(no-fuzzy) nmeros
limitado a una especfica
distancia.
Si el servicio es excelente o comida es deliciosa,
a continuacin, la punta es generoso.
regla 3
Si el servicio es bueno, entonces la punta es la media.
regla 2
Si el servicio es deficiente o comida es rancio,
a continuacin, la punta es barato.
Regla 1
pgina 52

2
Tutorial
2-38
Paso 1. Entradas Fuzzify
El primer paso es tomar las entradas y determinar el grado en que se
pertenecer a cada uno de los conjuntos difusos correspondientes a travs de las
funciones de pertenencia. En el
Lgica Difusa Caja de herramientas, la entrada es siempre un valor numrico
quebradizo limitado a la
universo de discurso de la variable de entrada (en este caso el intervalo entre 0
y 10) y la salida es una medida difusa de pertenencia a la clasificacin
conjunto lingstica (siempre que el intervalo entre 0 y 1). Fusificacin de la
entrada
asciende a cualquiera de una bsqueda en la tabla o una evaluacin de la funcin.
El ejemplo que estamos utilizando en esta seccin se basa en tres reglas, y cada
una de las
normas depende de la resolucin de los elementos de entrada en un nmero de
diferentes lingstico difuso
establece: el servicio es mala, el servicio es bueno, la comida es rancia, la comida
es deliciosa, y as sucesivamente.
Antes de que las reglas pueden ser evaluadas, las entradas deben estar de acuerdo
con fuzzificadas

cada uno de estos conjuntos lingsticos. Por ejemplo, en qu medida es la


comida realmente
delicioso? La siguiente figura muestra qu tan bien la comida en nuestra
hipottica
restaurante (puntuacin en una escala de 0 a 10) califica, (a travs de su funcin
de pertenencia),
como la variable lingstica "delicioso." En este caso, nos clasificado la comida
como un 8,
que, dada nuestra definicin grfica de delicioso, corresponde a = 0,7 para el
"Delicioso" funcin de pertenencia.
(El cumplido con el chef sera "su comida es deliciosa en la medida 0.7.")
De esta manera, cada entrada se fuzzificadas sobre todos los miembros de
clasificacin
funciones requeridas por las normas.
Paso 2. Aplicar operador Fuzzy
Una vez que las entradas han sido fuzzificado, sabemos que el grado en que cada
parte de
el antecedente ha sido satisfecha para cada regla. Si el antecedente de una regla
dada
ha ms de una parte, se aplica el operador difusa para obtener un nmero que
representa el resultado de la antecedente para esa regla. Este nmero ser
entonces
se aplica a la funcin de salida. La entrada al operador difusa es dos o ms
delicioso
0,7
la comida es deliciosa
comida = 8
entrada
Consecuencia de
fusificacin
1. Fuzzify
insumos.
pgina 53

Sistemas de inferencia difusos


2-39
valores de pertenencia de las variables de entrada fuzzificadas. La salida es una
sola verdad
valor.
Como se describe en la seccin sobre operaciones lgicas difusas, cualquier
nmero de

mtodos bien definidos pueden reemplazar a la operacin AND o la operacin


OR. En
la Lgica Difusa Caja de herramientas, dos incorporados y son compatibles
mtodos: min
(mnimo) y prod (producto). Dos incorporado o mtodos tambin son
compatibles:
max (mximo), y el mtodo probabilstico O probor . La O probabilstico
mtodo (tambin conocido como la suma algebraica) se calcula de acuerdo con la
ecuacin
probor ( un , b ) = a + b - ab
Adems de estos mtodos incorporados, puede crear sus propios mtodos para
AND y OR escribiendo cualquier funcin y establecer que para ser su mtodo de
eleccin. Habr ms informacin sobre cmo hacer esto ms adelante.
A continuacin se muestra un ejemplo del operador o mximo en el
trabajo. Estamos evaluando
el antecedente de la regla 3 para el clculo de inflexin. Las dos piezas diferentes
del antecedente (el servicio es excelente y la comida es deliciosa) produjo el
difusa
pertenencia valores 0,0 y 0,7, respectivamente. El operador simplemente borrosa
o
selecciona el mximo de los dos valores, 0,7, y la operacin difusa para la regla 3
est completo. Si estbamos usando el mtodo probabilstico O, el resultado sera
an
ser 0,7 en este caso.
Paso 3. Aplicar el mtodo Implicacin
Antes de aplicar el mtodo de implicacin, hay que tener cuidado de peso de la
regla.
Cada regla tiene un peso (un nmero entre 0 y 1), que se aplica a la
nmero dado por el antecedente. Generalmente, este peso es 1 (como es por esta
ejemplo) y por lo que no tiene ningn efecto en absoluto sobre el proceso de
implicacin. De vez en
delicioso
excelente
0.0
0.0
0,7
0,7
el servicio es excelente
la comida es deliciosa
o
comida = 8

entrada 2
consecuencia de
operador difuso
servicio = 3
entrada 1
2. Aplicar
Operador OR (max).
1. Fuzzify
insumos.
pgina 54

2
Tutorial
2-40
el tiempo es posible que desee para ponderar una regla respecto a las otras,
cambiando su
valor de peso a algo distinto de 1.
Una vez ponderacin adecuada se ha asignado a cada regla, el mtodo de
implicacin
est implementado. Una consecuencia es un conjunto difuso representado por
una membresa
funcin, el cual se ponderen adecuadamente las caractersticas lingsticas que
son
que se le atribuye. La consiguiente se forma de nuevo el uso de una funcin
asociada con
el antecedente (un solo nmero). La entrada para el proceso de implicacin es
una
solo nmero dado por el antecedente, y la salida es un conjunto difuso.
Implicacin se implementa para cada regla. Dos mtodos incorporados son
compatibles,
y son las mismas funciones que son utilizados por el mtodo E: min
(mnimo), que trunca el conjunto difuso de salida, y prod (producto), que
escala el conjunto difuso de salida.
Paso 4. agregadas todas las salidas
Dado que las decisiones se basan en las pruebas de todas las reglas en una de
esqu alpino, las normas
debe combinarse de alguna manera con el fin de tomar una decisin. La
agregacin es
el proceso por el que los conjuntos difusos que representan las salidas de cada
regla son
combinados en un solo conjunto difuso. La agregacin se produce slo una vez
para cada salida

variables, justo antes de la quinta y ltima etapa, defuzzification. La entrada de la


proceso de agregacin es la lista de las funciones de salida devueltos por el
truncados
proceso de implicacin de cada regla. La salida del proceso de agregacin es una
conjunto difuso para cada variable de salida.
delicioso
excelente
generoso
Si el servicio es excelente
la comida es deliciosa
entonces
o
punta = generosa
comida = 8
entrada 2
consecuencia de
implicacin
servicio = 3
entrada 1
3. Aplicar
Implicacin
operador (min).
2. Aplicar
Operador OR (max).
1. Fuzzify
insumos.
Antecedente
Consiguiente
pgina 55

Sistemas de inferencia difusos


2-41
Ntese que, siempre que el mtodo de agregacin es conmutativa (que siempre
debera ser), a continuacin, el orden en que se ejecutan las reglas no es
importante.
Tres mtodos incorporados son
compatibles: max (mximo), probor (probabilstico
o), y la suma (simplemente la suma de conjunto de salida de cada regla).
En el siguiente diagrama, las tres reglas han sido colocados juntos para mostrar
cmo
la salida de cada regla se combina, o agregada, en un solo conjunto difuso cuya
funcin de pertenencia asigna una ponderacin para cada valor de salida (punta).

Paso 5. Defuzzify
La entrada para el proceso defuzzification es un conjunto difuso (la produccin
agregada
conjunto difuso) y la salida es un nmero nico. Por mucho que la borrosidad de
la ayuda
evaluacin de la regla durante los pasos intermedios, el resultado final deseado
para cada
variable es generalmente un solo nmero. Sin embargo, la suma de un conjunto
difuso
abarca una gama de valores de salida, y as debe ser defuzzificados con el fin de
resolver un valor de salida nica del conjunto.
4. Aplicar
agregacin
mtodo (max).
2. Aplicar
borroso
operacin
(OR = max).
1. Entradas Fuzzify.
3. Aplicar
implicacin
mtodo (min).
0 25%
0 25%
0 25%
0 25%
0 25%
0 25%
0 25%
delicioso
promedio
bueno
excelente
rancio
barato
pobre
generoso
comida = 8
entrada 2
Consecuencia de
agregacin

Regla 2 tiene
ninguna dependencia
en la entrada 2
servicio = 3
entrada 1
Si
el servicio es deficiente
comida es rancio
entonces
o
punta = barato
Si
el servicio es bueno
entonces
punta = promedio
Si el servicio es excelente
la comida es deliciosa
entonces
o
punta = generosa
1.
2.
3.
pgina 56

2
Tutorial
2-42
Quizs el mtodo ms popular es defuzzification el clculo del centroide,
que devuelve el centro del rea bajo la curva. Hay cinco incorporada
mtodos admitidos: centroide, bisectriz, medio de mximo (el promedio de la
valor mximo del conjunto de salida), el mayor de mxima, y el ms pequeo de
mximo.
El diagrama de inferencia borrosa
El diagrama de inferencia difusa es la combinacin de todos los diagramas ms
pequeos que hemos
estado mirando hasta ahora en esta seccin. Se muestra simultneamente todas
las partes de la
proceso de inferencia difusa hemos examinado. La informacin fluye a travs de
la difusa
diagrama de inferencia como se muestra a continuacin.

Observe cmo el flujo prosigue a partir de las entradas en la parte inferior


izquierda, luego a travs
cada fila, o la regla y, a continuacin, se establecen las salidas de reglas para
terminar en la parte inferior derecha.
Esta es una forma muy compacta de mostrar todo a la vez, de lingstica
fusificacin variable de todo el camino a travs del agregado defuzzification
salida.
5. Defuzzify la
produccin agregada
(Centroide).
Consecuencia de
defuzzification
punta = 16,7%
0 25%
la interpretacin de la
Inferencia difusa
Diagrama
entrada 2
entrada 1
1. si
y
entonces
2. si
y
entonces
salida
pgina 57

Sistemas de inferencia difusos


2-43
A continuacin se muestra el diagrama de tamao completo de inferencia borrosa
real. Hay mucho para ver
en un diagrama de inferencia borrosa, pero una vez que se acostumbre a ella, se
puede
aprender mucho sobre un sistema muy rpidamente. Por ejemplo, a partir de este
diagrama con
estas entradas particulares, se puede ver fcilmente que el mtodo implica
truncado con el min funcin. El max funcin se utiliza para la fuzzy
operacin OR. Regla 3 (abajo a la fila ms en el diagrama que se muestra
contrario) es
que tiene la mayor influencia en la salida. Y as. El Visor de Reglas

se describe en "La Regla de Visor" en la pgina 2-5 9 es una aplicacin de


MATLAB
el diagrama de inferencia borrosa.
personalizacin
Uno de los objetivos principales de la Caja de herramientas de la lgica difusa es
tener un proceso abierto y
fcil de modificar la estructura del sistema de inferencia borrosa. Por lo tanto, la
Lgica Difusa
Caja de herramientas est diseado para darle tanta libertad como sea posible,
dentro de la base
5. Defuzzify
(Centroide).
4. Aplicar
agregacin
mtodo (max).
2. Aplicar
borroso
operacin
(OR = max).
1. Entradas Fuzzify.
3. Aplicar
implicacin
mtodo (min).
0% 25%
0% 25%
0% 25%
0% 25%
0% 25%
delicioso
promedio
bueno
excelente
rancio
barato
pobre
comida = 8
entrada 2
salida
Regla 2 tiene
ninguna dependencia
en la entrada 2

punta = 16,7%
servicio = 3
entrada 1
Si
el servicio es deficiente
comida es rancio
punta = barato
entonces
o
Si
el servicio es bueno
entonces
punta = promedio
Si el servicio es excelente
la comida es deliciosa
entonces
o
punta = generosa
1.
2.
3.
0% 25%
0 10
generoso
0 10
0 10
0 10
0
10
0% 25%
pgina 58

2
Tutorial
2-44
las limitaciones del proceso descrito aqu, para personalizar la inferencia borrosa
procedimiento para su aplicacin. Por ejemplo, se puede sustituir su propio
funciones de MATLAB para cualquiera de las funciones por defecto utilizados en
los cinco pasos
detallado anteriormente: a tomar sus propias funciones de pertenencia y mtodos,
O

mtodos, procedimientos, mtodos de agregacin de implicacin, y


defuzzification
mtodos. La siguiente seccin describe exactamente cmo construir e
implementar una
sistema de inferencia difusa utilizando las herramientas proporcionadas.
pgina 59

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-45
Sistemas de construccin con la caja de herramientas Lgica Difusa
Cena para dos, de arriba
Ahora vamos a trabajar a travs de un ejemplo de inflexin similar, slo
estaremos
la construccin de sta mediante la interfaz grfica de usuario (GUI)
proporcionados por el Fuzzy
Lgica Caja de herramientas. Aunque es posible utilizar la Caja de herramientas
de Lgica Difusa trabajando
estrictamente desde la lnea de comandos, en general, es mucho ms fcil de
construir un sistema de
grficamente. Hay cinco principales herramientas de la GUI para la creacin,
edicin y
la observacin de los sistemas de inferencia difusos en la caja de herramientas
Lgica Difusa: el Fuzzy
Sistema de inferencia o FIS Editor, Editor de la funcin de miembro, la Regla
Editor, el Visor de Reglas, y el Visor de superficie. Estas interfaces grficas de
usuario son dinmicamente
vinculada, en que los cambios efectuados a la FIS usando uno de ellos, lo que
puede afectar
que se ve en cualquiera de las otras interfaces grficas de usuario abiertas. Usted
puede tener cualquiera o todos ellos abierto para
cualquier sistema dado.
Adems de estos cinco interfaces grficas de usuario primaria, la caja de
herramientas incluye la grfica
ANFIS Editor GUI, que se utiliza para la construccin y el anlisis de Sugeno de
tipo
sistemas de inferencia difusos adaptativos neurales. El ANFIS Editor GUI se
discute
ms adelante en este captulo, en la secci n, "Sugeno-Tipo de inferencia
borrosa" en la pgina
2-86 .
pgina 60

2
Tutorial
2-46
El editor de la FIS se ocupa de los problemas de alto nivel para el sistema:
Cuntos de entrada
y variables de salida? Cules son sus nombres? La Lgica Difusa Caja de
herramientas no lo hace
limitar el nmero de entradas. Sin embargo, el nmero de entradas puede ser
limitada por
la memoria disponible de la mquina. Si el nmero de entradas es demasiado
grande, o
el nmero de funciones de pertenencia es demasiado grande, entonces tambin
puede ser difcil de
analizar la FIS usando las otras herramientas de la GUI.
El Editor de miembro de funcin se utiliza para definir las formas de toda la
funciones de pertenencia asociados con cada variable.
El editor de reglas es para la edicin de la lista de reglas que define el
comportamiento de la
sistema.
Borroso
Inferencia
Sistema
Editor de FIS
Afiliacin
Editor de la funcin
Editor de reglas
Regla Visor
Visor de superficie
Solo lectura
herramientas
Pgina 61

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-47
El Visor de Reglas y el Visor de superficie se utilizan para mirar, a diferencia de
edicin, el FIS. Estn estrictamente herramientas de slo lectura. El Visor de
Reglas es una
visualizacin basada en MATLAB del diagrama de inferencia borrosa se muestra
al final de la
ltima seccin. Se utiliza como un diagnstico, se puede mostrar (por ejemplo)
que son reglas

formas de funciones miembros activos, o cmo individuales estn influyendo en


la
resultados. El Visor de superficie se utiliza para mostrar la dependencia de una de
las
salidas en una o dos de las entradas, es decir, que genera y parcelas una
mapa de la superficie de salida para el sistema.
En este captulo se inici con una ilustracin similar a la de abajo que describe la
partes principales de un sistema de inferencia borrosa, solamente la de abajo
muestra cmo los tres
Editores encajan entre s. Los dos visores examinar el comportamiento de la
totalidad
sistema.
Las cinco principales GUIs todo pueden interactuar e intercambiar
informacin. Cualquiera de
ellos pueden leer y escribir tanto al rea de trabajo y en el disco (el de slo
lectura
los espectadores todava pueden intercambiar parcelas con el espacio de trabajo y
/ o el disco). Para cualquier
sistema de inferencia borrosa, cualquiera o todos de estos cinco interfaces
grficas de usuario puede ser abierta. Si ms de
uno de estos editores es abierta para un solo sistema, las distintas ventanas GUI
son
consciente de la existencia de los otros, y la voluntad, si es necesario, actualizar
relacionados
ventanas. As, si los nombres de las funciones de pertenencia se cambian
mediante
el Editor de afiliacin de funciones, esos cambios se reflejan en las normas
se muestra en el editor de reglas. Los editores de cualquier nmero de diferentes
sistemas FIS
pueden estar abiertos al mismo tiempo. El Editor de esqu alpino, la funcin de
pertenencia
Editor y el editor de reglas puede leer todo y modificar los datos de la FIS, pero
la Regla
el Visor Visor de superficie y no modifiquen los datos de la FIS de ninguna
manera.
Entrada
El caso general ...
Un ejemplo especfico ...
Reglas
Entrada
condiciones

(interpretar)
Salida
condiciones
(asignar)
Salida
Servicio
si el servicio es pobre, entonces la punta es barato
si el servicio es bueno, entonces es media punta
si el servicio es excelente, entonces la punta es generoso
{pobre,
bueno,
excelente}
{barato,
promedio,
generoso}
servicio =
punta =
propina
Los editores GUI ...
El Editor de FIS
El editor de reglas
la afiliacin
Editor de la funcin
Pgina 62

2
Tutorial
2-48
Empezando
Comenzaremos con una descripcin bsica de una de dos entradas, un problema
de inflexin de una sola salida
(Basado en las prcticas de inflexin en los EE.UU.).
El problema bsico de vuelco.
Dado un nmero entre 0 y 10 que representa la
calidad de servicio en un restaurante (donde 10 es excelente), y otro nmero
entre 0 y 10 que representa la calidad de la comida en ese restaurante
(De nuevo, 10 es excelente), cul debera ser la punta?
El punto de partida es la de escribir las tres reglas de oro de inflexin, basado en
aos de experiencia personal en los restaurantes.
1. Si el servicio es deficiente o la comida es rancio, a continuacin, la punta es
barato.
2. Si el servicio es bueno, entonces la punta es normal.

3. Si el servicio es excelente o la comida es deliciosa, a continuacin, la punta es


generoso.
Vamos a suponer que una punta media es del 15%, una generosa propina es del
25%, y una punta barato
es 5%. Tambin es til tener una vaga idea de lo que la funcin de inflexin debe
parece.
Obviamente el nmero y la forma de la curva estn sujetos a locales
tradiciones, prejuicios culturales, y as sucesivamente, pero las tres reglas son
bastante universal.
Ahora conocemos las reglas, y tenemos una idea de lo que el resultado debe ser
me gusta. Vamos a empezar a trabajar con las herramientas de la GUI para
construir una inferencia borrosa
sistema para este proceso de decisin.
.25
.15
.5
mal servicio o mala comida
Gran servicio o la comida
pgina 63

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-49
El Editor de FIS
La siguiente discusin se gua a travs de la construccin de una nueva inferencia
borrosa
sistema desde cero. Si desea ahorrar tiempo y seguir adelante rpidamente, puede
cargar el sistema ya construido escribiendo
volquete difusa
Esto cargar el FIS asociados con el archivo
tipper.fis
(el
.fis
est implcito)
y poner en marcha el Editor de esqu alpino. Sin embargo, si se carga el sistema
de pre-construidos, se quiere
no puede ser la construccin de reglas y la construccin de funciones de
pertenencia.
El Editor de FIS muestra informacin general sobre un sistema de inferencia
borrosa.
Hay un diagrama simple en la parte superior que muestra los nombres de cada
entrada
variable de la izquierda, y los de cada variable de salida a la derecha. La muestra

funciones de pertenencia que se muestran en los cuadros son slo los iconos y no
representan la
formas reales de las funciones de pertenencia.
A continuacin el diagrama es el nombre del sistema y el tipo de inferencia
utilizado.
El valor por defecto, de tipo Mamdani de inferencia, es lo que hemos estado
describiendo hasta ahora y
Esta lnea de estado describe la
ms reciente operacin.
Estos mens emergentes se utilizan para
ajustar las funciones de inferencia difusos,
tales como el mtodo defuzzification.
Se muestra el nombre del sistema
aqu. Se puede cambiar el uso de una de las
Guardar como ... opciones del men.
Estos elementos de men le permiten guardar, abrir,
o editar un sistema difuso utilizando cualquiera de los cinco
herramientas bsicas de la GUI.
Haga doble clic en una entrada
icono variable para abrir el
Funcin de miembros Editor.
Haga doble clic en el sistema
diagrama para abrir el
Editor de reglas.
Haga doble clic en el icono de
la variable de salida, la punta, a
abrir la membresa
Editor de la funcin.
Este campo de edicin se utiliza para nombrar
y editar los nombres de los
entrada y variable de salida.
Pgina 64

2
Tutorial
2-50
lo que vamos a seguir utilizando para este ejemplo. Otro tipo ligeramente
diferente de
inferencia, denominada de tipo Sugeno inferencia, tambin est disponible. Este
mtodo es
se explica en "Sugeno-Tipo de inferencia borrosa" en la pgina 2-86 . Debajo del
nombre de

el sistema de inferencia difuso, en el lado izquierdo de la figura, son los mens


emergentes
que le permiten modificar las diversas piezas del proceso de inferencia. Sobre el
rightsideatthe parte inferior de thefigureis el rea que aparece thenameofeither
una variable de entrada o salida, su asociado Tipo de funcin de pertenencia, y su
distancia. Los dos ltimos campos se identifican slo despus de las funciones de
pertenencia
Ha estado. Por debajo de esta regin son los de Ayuda y Cerrar botones que
llaman hasta
ayuda en lnea y cerrar la ventana, respectivamente. En la parte inferior es una
lnea de estado
que transmite informacin acerca del sistema.
Para iniciar este sistema desde cero, el tipo
borroso
en el indicador de MATLAB. Se abre el Editor sin ttulo genrico de esqu alpino,
con una entrada,
etiquetada INPUT1 , y una salida, etiquetados output1 . Para este ejemplo,
vamos a
construir una, un sistema de salida de dos entradas, por lo que ir a
la Editar men y seleccione
Aadir entrada . Un segundo cuadro con la etiqueta
amarilla INPUT2 aparecer. Las dos entradas de nosotros
tendr en nuestro ejemplo son el servicio y la comida . Nuestra nica salida es la
punta . Nos gustara
para cambiar los nombres de las variables para reflejar que, sin embargo.
1
Haga clic una vez en el cuadro de la izquierda (amarillo) marc INPUT1 (la caja
ser
resaltado en rojo).
2
En el campo de edicin blanca a la derecha, el cambio
INPUT1
a
Servicio
y pulse
Regreso.
3
Haga clic una vez en el cuadro de la izquierda (amarillo) marc INPUT2 (la caja
ser
resaltado en rojo).
4

En el campo de edicin blanca a la derecha, el cambio


INPUT2
a
comida
y pulse Retorno .
5
Haga clic una vez en el lado derecho (azul) casilla marcada output1 .
6
En el campo de edicin blanca a la derecha, el cambio
output1
a
propina
.
Pgina 65

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-51
7
Desde el Archivo men, seleccione Guardar para rea de trabajo como ... .
8
Introduzca el nombre de la variable
volquete
y haga clic en OK.
Podrs ver el diagrama actualizado para reflejar los nuevos nombres de la entrada
y
variables de salida. Ahora hay una nueva variable en el espacio de trabajo
denominado
volquete
que contiene toda la informacin acerca de este sistema. Al ahorrar al espacio de
trabajo
con un nuevo nombre, tambin cambia el nombre de todo el sistema. Su ventana
tendr un aspecto
algo como esto.
Deje las opciones de inferencia en la parte inferior izquierda de sus posiciones
predeterminadas por ahora.
Haya introducido toda la informacin que necesita para esta interfaz grfica de
usuario en particular. Siguiente
definir las funciones de pertenencia asociadas con cada una de las variables. Que
hacer
Pgina 66

Tutorial
2-52
esto, abrir el Editor de miembro de funcin. Puede abrir la membresa
Funcin de editor en una de tres maneras:
Despliegue el Vista elemento de men y seleccionar funciones de edicin de
miembros ... .
Haga doble clic en el icono de la variable de salida, de punta .
Tipo
mfedit
en la lnea de comandos.
El Editor de miembro Funcin
Las acciones del editor de funciones de miembro algunas caractersticas con el
Editor de FIS. En
De hecho, varias de estas cinco herramientas bsicas GUI tienen opciones de
men similares, las lneas de estado y
Ayuda y Cerrar botones. El Editor de afiliacin funcin es la herramienta que
permite
Esta lnea de estado describe
la operacin ms reciente.
Este campo de edicin le permite establecer
el rango de visualizacin de la
de trazado actual.
Este campo de edicin permite
se establece la gama de
la variable actual.
Estos elementos de men le permiten
para guardar, abrir o editar un difuso
sistema utilizando cualquiera de los cinco
herramientas bsicas de la GUI.
Esta es la "variable Paleta"
zona. Haga clic en una variable aqu
para que sea actual y editar su
funciones de pertenencia.
Este campo grfico que muestra todo
las funciones de pertenencia
de la variable actual.
Este men emergente le permite
cambia el tipo de
de la corriente
Funcin de la membresa.
Estos campos de texto muestran

el nombre y el tipo de
la variable actual.
Este campo de edicin permite
cambia el
numrico
parmetros para la
membresa actual
funcin.
Haga clic en una lnea para seleccionarla y
puede cambiar ninguno de sus atributos,
incluyendo el nombre, tipo y
parmetros numricos. arrastre su
ratn para mover o cambiar la forma
de una funcin de pertenencia seleccionado.
Este campo de edicin que permite
cambiar el nombre de la
membresa actual
funcin.
Pgina 67

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-53
visualizar y editar todas las funciones de pertenencia asociadas a la totalidad de la
variables de entrada y de salida para todo el sistema de inferencia borrosa.
Al abrir el Editor de afiliacin de funciones para trabajar en una inferencia
borrosa
sistema que an no existe en el espacio de trabajo, no hay todava ninguna son
funciones de pertenencia asociadas a las variables que acaba de definir
con el Editor de esqu alpino.
En la parte izquierda superior del rea del grfico en el Editor de afiliacin
funcin es
una "paleta de variables" que le permite configurar las funciones de pertenencia
para un determinado
variable.To configurar las funciones de pertenencia asociadas a una entrada o una
variable de salida para el esqu alpino, seleccione una variable de esqu alpino en
esta regin haciendo clic en
eso.
A continuacin, seleccione el Editar men desplegable, y seleccione Aadir los
BM ... . Una nueva ventana
aparecer, lo que le permite seleccionar tanto el tipo y la funcin de pertenencia
el nmero de funciones de pertenencia asociado con la variable seleccionada. En

la esquina inferior derecha de la ventana son los controles que le permiten


cambiar la
nombre, tipo, y los parmetros (de forma), de la funcin de pertenencia, una vez
que ha
sido seleccionado.
Las funciones de pertenencia de la variable actual se muestran en la principal
grafico. Estas funciones de pertenencia se pueden manipular de dos
maneras. Usted puede
en primer lugar utilizar el ratn para seleccionar una funcin de pertenencia
particular asociado con
una calidad determinada variable (como pobres, para la variable, servicio), y
luego arrastre
la funcin de pertenencia de lado a lado. Esto afectar a la matemtica
Descripcin de la calidad asociado con esa funcin de pertenencia para un
determinado
variable. La funcin de pertenencia seleccionada tambin se pueden etiquetar
para la dilatacin o
contraccin haciendo clic en los pequeos puntos de arrastre cuadrados en el
nmero de miembros
funcin y, a continuacin, arrastrando la funcin con el ratn hacia el exterior,
para la dilatacin, o hacia el interior , para la contraccin. Esto cambiar el
parmetros asociados con la funcin de pertenencia.
Por debajo de la paleta Variable hay alguna informacin sobre el tipo y el nombre
de la
variable actual. Hay un campo de texto en esta regin que le permite cambiar la
lmites de la gama de la variable actual (universo de discurso) y otro que
Le permite establecer los lmites de la trama actual (que no tiene ningn efecto
real sobre la
sistema).
El proceso de especificacin de las funciones de pertenencia de entrada para este
dos entradas
problema volquete es el siguiente:
Pgina 68

2
Tutorial
2-54
1
Seleccione la variable de entrada, servicio , haciendo doble clic sobre
l. Establecer tanto la
Rango y la Escala de pantalla para el vector
[0 10]

.
2
Seleccione Aadir los BM ... Del Editar men. La siguiente ventana se abra.
3
Utilice la pestaa desplegable para elegir gaussmf de MF Tipo y 3 para
el nmero de
MFS . Esto aade tres curvas gaussianas al servicio variable de entrada
4
Haga clic una vez en la curva con el extremo izquierdo de joroba . Cambiar el
nombre de la
curva de
pobre
. Para ajustar la forma de la funcin de pertenencia, ya sea para uso
el ratn, como se ha descrito anteriormente, o escribe en un cambio de parmetro
deseado y
a continuacin, haga clic en la funcin de pertenencia. La lista de parmetros por
defecto para
esta curva es
[1,5 0]
.
5
Nombre de la curva con la joroba media,
bueno
, Y la curva con el
joroba ms a la derecha,
excelente
. Restablecer los parmetros asociados si se desea.
6
Seleccione la variable de entrada, comida , haciendo clic sobre ella. Establecer
tanto el rango y la
Rango de la pantalla al vector
[0 10]
.
7
Seleccione Aadir los BM ... Del Editar men y aadir dos
trapmf
curvas a la
variable de entrada
comida
.
8

Haga clic una vez directamente en la curva con el trapazoid ms a la


izquierda. Cambiar el
nombre de la curva de
rancio
. Para ajustar la forma de la membresa
funcin, o bien utilizar el ratn, como se ha descrito anteriormente, o escribe en
una deseada
el cambio de parmetros y, a continuacin, haga clic en la funcin de
pertenencia. El valor por defecto
lista de parmetros para esta curva es
[0 0 1 3]
.
9
Nombrar la curva con el trapazoid ms a la derecha,
delicioso
Y restablecer el
parmetros asociados si se desea
Pgina 69

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-55
Lo siguiente que necesita para crear las funciones de pertenencia de la variable de
salida, de punta .
Para crear las funciones de pertenencia variables de salida, utilice la paleta
Variable
a la izquierda, la seleccin de la variable de salida, de punta . Las entradas vari
de 0 a 10,
pero la escala de salida va a ser una punta de entre 5 y 25 por ciento.
Utilice los tipos de funciones de pertenencia triangulares para la salida. En
primer lugar, establecer el rango
(y la Escala de pantalla ) para
[0 30]
, Para cubrir el rango de salida. Inicialmente, el
barato funcin de pertenencia tendr los parmetros
[0 5 10]
, El promedio
funcin de pertenencia ser
[10 15 20
], Y la generosa membresa
funcin ser
[20 25 30
]. El sistema debe ser algo como esto.

Ahora que las variables han sido nombrados, y las funciones de pertenencia
tienen
formas y nombres apropiados, ya est listo para escribir las reglas. Para llamar
el editor de reglas, vaya a la vista de men y seleccione Editar reglas ... , o
escribe
RuleEdit
en la lnea de comandos.
pgina 70

2
Tutorial
2-56
El editor de reglas
La construccin de reglas utilizando la interfaz grfica Editor de reglas es
bastante
evidente por s mismo. Sobre la base de las descripciones de las variables de
entrada y de salida
definido con el Editor de esqu alpino, el editor de reglas permite construir la
regla
declaraciones automticamente, haciendo clic en y seleccionando un elemento en
cada entrada
cuadro de la variable, un elemento de cada caja de salida, y un elemento de
conexin. La eleccin
ninguno como una de las cualidades variables excluir que variable de un dado
regla. La eleccin no bajo cualquier nombre de variable negar la calidad
asociada.
Las reglas pueden ser modificados, eliminados o aadidos, haciendo clic en el
botn correspondiente.
El editor de reglas tambin tiene algunos puntos de referencia familiares,
similares a los de la FIS
Redactor y editor de la membresa de funciones, incluyendo la barra de men y el
lnea de estado. El formato de men emergente est disponible desde
el Opciones desplegable
men en el men de la barra superior, esto se utiliza para establecer el formato de
la pantalla.
Los elementos de men permiten
guardar, abrir o
editar un sistema difuso
utilizando cualquiera de los cinco
herramientas bsicas de la GUI.
Esta lnea de estado
describe la mayora

reciente operacin.
Las reglas son
ingres
automticamente
mediante la GUI
herramientas
.
Crear o editar reglas con los botones de la GUI y
opciones de los mens de introduccin o seleccin de Salida.
enlace de entrada
declaraciones en reglas.
Negar la entrada o salida
declaraciones en reglas.
De entrada o de salida de seleccin de mens.
La Ayuda de botn
da cierta
Informacin sobre
cmo la regla
Editor funciona, y
el Primer botn
cierra la ventana.
pgina 71

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-57
Del mismo modo, Idioma se puede ajustar de debajo de las
opciones tambin. La Ayuda de botn
se abrir una ventana de ayuda de MATLAB.
Para insertar la primera regla en el Editor de reglas, seleccione lo siguiente:
pobres bajo la variable de servicio
rancia bajo la variable de alimentos
el botn de radio, o , en el Conexin de bloques
barato , bajo la variable de salida, de punta .
La norma resultante es:
1. Si (el servicio es pobre) o (comida es rancio) a continuacin (la punta es
barato) (1)
Los nmeros en los parntesis representan los pesos que se pueden aplicar a cada
descartar si se desea. Puede especificar los pesos tecleando un nmero deseado
entre cero y uno bajo el peso: ajuste. Si no se especifica ellos, el
pesos se supone que son la unidad
(1)
.

Seguir un procedimiento similar para insertar las reglas segunda y tercera en la


Regla
Editor para obtener:
1. Si (el servicio es pobre) o (comida es rancio) a continuacin (la punta es
barato) (1)
2. Si (el servicio es bueno) a continuacin (la punta es la media) (1)
3. Si (el servicio es excelente) o (comida es deliciosa) a continuacin (la punta es
generoso) (1)
Para cambiar una regla, primero haga clic en la regla que desea cambiar. Luego,
efecte el deseado
cambia a la regla y, a continuacin, haga clic en Cambiar regla . Por ejemplo,
para cambiar
la primera regla de
1. Si (servicio no pobres) o (comida no rancio) entonces (propina no es barato)
(1)
haga clic en no en cada una variable y, a continuacin, haga clic en Cambiar
regla .
El formato de men emergente de la Opciones de men indica que usted est
buscando
en el formulario detallado de las reglas. Pruebe a cambiar simblica . Ya vers
1. (servicio == pobres) => (punta = barato) (1)
2. (servicio == bueno) => (punta = promedio) (1)
3. (servicio excelente ==) => (punta = generoso) (1)
pgina 72

2
Tutorial
2-58
No hay mucha diferencia en la pantalla realmente, pero es un poco ms
un lenguaje neutro, ya que no depende de trminos como "si" y "entonces". Si
cambiar el formato de indexado, se ver una versin muy comprimida de la
reglas que ha exprimido todo el lenguaje a cabo.
1, 1 (1): 1
2, 2 (1): 1
3, 3 (1): 1
Esta es la versin de que la mquina se ocupa de. La primera columna de esta
estructura corresponde a la variable de entrada, la segunda columna corresponde
a
la variable de salida, la tercera columna muestra el peso aplicado a cada regla,
y la cuarta columna es la abreviatura que indica si se trata de una O (2)
descartar o un (1) Regla y. Los nmeros en las dos primeras columnas se refieren
al ndice

nmero de la funcin de pertenencia. Una interpretacin literal de la regla 1 es:


"si
entrada 1 es MF1 (la primera funcin de pertenencia asociado con la entrada 1) a
continuacin,
1 salida debe ser MF1 (la primera funcin de miembro asociado a la salida
1) con el peso 1. "Dado que slo hay una entrada para este sistema, la Y
conjuntivo que implica el 1 en la ltima columna es de ninguna consecuencia.
El formato simblica no se molesta con los trminos, si , a continuacin , y as
sucesivamente. los
formato indexado ni siquiera se molesta con los nombres de las variables.
Obviamente, la funcionalidad de su sistema no depende de lo bien que
han nombrado sus variables y funciones de pertenencia. El punto de
denominar las variables descriptiva es, como siempre, haciendo que el sistema
sea ms fcil para usted
interpretar. Por lo tanto, a menos que tenga algn propsito especial en mente, lo
har
probablemente sera ms fcil para que usted se pega con el prolijo formato.
En este punto, el sistema de inferencia borrosa ha sido completamente definido,
en ese
las variables, funciones de pertenencia, y las normas necesarias para el clculo de
consejos
estn en su lugar. Sera bueno, en este momento, para mirar un diagrama de
inferencia borrosa
como la que se presenta al final de la seccin anterior y verificar que
todo lo que se est comportando de la forma en que piensa que debera. Este es
exactamente el propsito
de theRuleViewer, thenextofthe GUItools we'lllookat. Desde la vista del men,
seleccione Ver reglas ... .
pgina 73

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-59
El Visor de Reglas
El Visor de reglas muestra una hoja de ruta de todo el proceso de inferencia
difusa. Sus
basado en el diagrama de inferencia borrosa se describe en la seccin anterior. Lo
ves
una sola ventana figura con 10 pequeas parcelas integradas en ella. Las tres
pequeas parcelas
a travs de la parte superior de la figura representan el antecedente y consecuente
de la primera

regla. Cada regla es una fila de parcelas, y cada columna es una variable. Los
primeros dos
columnas de parcelas (las seis parcelas amarillo) muestran las funciones de
pertenencia
al que hace referencia el antecedente, o la parte de si cada regla. La tercera
columna de
parcelas (las tres parcelas azul) muestra las funciones de pertenencia que hace
referencia el
consecuente, o el entonces parte de cada regla. Si hace clic una vez en un nmero
de la regla,
la norma correspondiente se mostrar en la parte inferior de la figura. Darse
cuenta de
Cada fila de parcelas
representa una regla (en este caso
Hay 3). Haga clic en una
gobernar para mostrarla en el
barra de estado.
Los elementos de men permiten
guardar, abrir o editar
un sistema difuso utilizando cualquier
de los cinco GUI bsico
herramientas.
Este campo de edicin que permite
ajustar la entrada
explcitamente.
Esta lnea de estado describe la operacin ms reciente.
Cada columna de parcelas (amarillo) muestra cmo
la variable de entrada se utiliza en las reglas. los
Los valores de entrada se muestran aqu en la parte superior.
Esta columna de parcelas (azul)
muestra cmo la variable de salida
se utiliza en las reglas.
Esta lnea ofrece una
defuzzificado valor.
La trama parte inferior derecha
muestra cmo la salida de
cada regla se combina con
hacer un agregado
de salida y luego
defuzzificados.
Cambiar las parcelas izquierda, derecha,

arriba o abajo con stos


botones.
Deslice esta lnea para cambiar
sus valores de entrada, y
generar una nueva salida
respuesta.
pgina 74

2
Tutorial
2-60
bajo alimentos , hay una trama que est en blanco. Esto corresponde a la
caracterizacin de ninguno para la variable de alimentos en la segunda regla. El
cuarto
parcela en la tercera columna de parcelas sea representativa de la decisin
ponderada total de
el sistema de inferencia dado. Esta decisin depender de los valores de entrada
para
el sistema.
Tambin existen los elementos ya conocidos como la lnea de estado y la barra de
mens. En
la parte inferior derecha hay un campo de texto en el que puede introducir datos
especficos
valores. Para el sistema de dos entradas, se entra en un vector de entrada,
[9 8]
, para
ejemplo y, a continuacin, haga clic en la entrada . Tambin puede ajustar estos
valores de entrada por
clic en cualquier lugar en cualquiera de los tres parcelas para cada entrada. Esto
mover el
lnea de ndice de color rojo horizontal, hasta el punto donde se ha hecho clic. T
tambin puedes
basta con hacer clic y arrastrar esta lnea con el fin de cambiar los valores de
entrada. Cuando t
liberar la lnea, (o despus de especificar manualmente la entrada), un nuevo
clculo es
realizado, y se puede ver todo el proceso de inferencia difusa tiene lugar.
Donde la lnea ndice representativo de servicio cruza la funcin de pertenencia
lnea de "servicio es deficiente" en el grfico superior izquierda va a determinar
el grado en el cual
una regla se activa. Un parche amarillo de color bajo la pertenencia real

curva de funcin se utiliza para hacer que el valor de pertenencia borrosa


visualmente aparente.
Cada una de las caracterizaciones de cada una de las variables se especifica con
respecto
a la lnea de ndice de entrada de esta manera. Si seguimos la regla 1 en la parte
superior de la
diagrama, podemos ver el consecuente "consejo es barato" se ha truncado
exactamente
el mismo grado que el (compuesto ) antecedente-este es el proceso de
implicacin
en accin. La agregacin se produce por la tercera columna, y el resultante
parcela agregada se muestra en la sola parcela que se encuentra en la esquina
inferior derecha
del campo de trama. El valor de salida defuzzificado se muestra por el paso lnea
gruesa
a travs del conjunto difuso agregado.
El Visor de Reglas permite interpretar todo el proceso de inferencia difusa en
una vez. El Visor de Reglas tambin muestra cmo la forma de cierta pertenencia
funciones influye en el resultado global. Ya que traza cada parte de cada regla,
puede llegar a ser difcil de manejar para los sistemas particularmente grandes,
pero, por una parte relativamente pequea
nmero de entradas y salidas, se realiza bien (dependiendo de la cantidad de
pantalla
el espacio que dedican a ella) con hasta 30 reglas y un mximo de 6 o 7 variables.
El Visor de Reglas muestra un clculo a la vez y con gran detalle. En esto
sentido, presenta una especie de vista micro del sistema de inferencia borrosa. si
tu quieres
para ver toda la superficie de salida de su sistema, es decir, todo el lapso de la
conjunto de salida en funcin de toda la expansin del conjunto de entrada, es
necesario abrir el
Visor de la superficie. Esta es la ltima de las cinco herramientas bsicas de la
GUI de la Lgica Difusa
Caja de herramientas, y lo abre al seleccionar Vista superficie ... de la vista del
men.
pgina 75

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-61
El Visor de superficie
Al abrir el Visor de superficie, se nos presenta con una de dos dimensiones
curva que representa la correspondencia entre la calidad del servicio a la punta
cantidad. Ya que

este es un caso de una salida de un impulso de entrada, podemos ver toda la


cartografa en una parcela.
sistemas de una salida de dos entradas tambin funcionan bien, ya que generan
grficos tridimensionales que MATLAB puede manejar con habilidad. Cuando
nos movemos
ms all de tres dimensiones generales, empezamos a encontrarse con problemas
para mostrar la
resultados. En consecuencia, el Visor de superficie est equipado con mens
emergentes que
permiten seleccionar cualquiera de las dos entradas y una salida para cualquier
trazado. Justo debajo de la
mens pop-up son dos campos de entrada de texto que le permiten determinar
cuntos eje x
y del eje y lneas de la cuadrcula que desee incluir. Esto le permite mantener la
tiempo de clculo razonable para problemas complejos. Al pulsar el Evaluar
botn inicia el clculo, y la trama aparece poco despus de la
clculo es completa. Para cambiar el eje X o eje y de rejilla despus de la
superficie es
Los elementos de men permiten
guardar, abrir o
editar un sistema difuso
utilizando cualquiera de los cinco
herramientas bsicas de la GUI.
Estos campos de edicin permiten
a determinar cmo
ajustadamente a la rejilla
espacio de entrada.
Estos mens emergentes
le permite especificar la
uno o dos visualizado
variables de entrada.
Este campo de edicin que permite
ajustar la entrada de forma explcita
para las entradas no especificada
en el diagrama de la superficie.
Esta lnea de estado describe la operacin ms reciente.
Utilizar el ratn para hacer girar los ejes.
Este grfico muestra el
superficie de salida para cualquier
salida del sistema
frente a una o dos

Entradas al sistema
Este men emergente le permite
se especifica el
salida que se visualiza
variable.
Pulse este botn cuando
ya est listo para
el clculo y la trama.
El botn Ayuda proporciona
alguna informacin
acerca de cmo la superficie
Visor funciona, y el
Cerrar botn se cierra el
ventana.
Pgina 76

2
Tutorial
2-62
a la vista, basta con modificar el campo de texto correspondiente y haga clic en
cualquiera de X-redes:
o Y-redes: , segn la cual el campo de texto que haya modificado, para volver a
dibujar la trama.
El Visor de superficie tiene una capacidad especial que es muy til en los casos
de
dos (o ms) entradas y una salida: en realidad se puede agarrar y los ejes
cambiar su posicin para obtener una vista tridimensional diferente en los
datos. Los Ref.
Entrada: campo se utiliza en situaciones en las que hay ms datos de entrada
requeridos por la
sistema que la superficie es la cartografa. Suponga que tiene una de cuatro
entradas de una sola salida
sistema y le gustara ver que la superficie de salida. El Visor de superficie puede
generar una superficie de salida tridimensional en la que dos de las entradas
puede variar,
pero dos de las entradas deben rendir constante desde los monitores de ordenador
no puede
mostrar una forma de cinco dimensiones. En tal caso, la entrada sera una
vector de cuatro dimensiones con
Yaya
s sosteniendo el lugar de las entradas varan mientras
valores numricos indicaran aquellos valores que permanecen fijas. Un

Yaya
es el
smbolo IEEE para "no es un nmero."
Esto concluye el recorrido rpido a travs de cada una de las principales
herramientas de la GUI. darse cuenta
que para el problema de inflexin, la salida del sistema difuso juego nuestra
idea original de la forma de la cartografa difusa de servicio a la punta bastante
bien.
En retrospectiva, se podra decir, "Por qu molestarse? Me podra haber
dibujado una rpida
Bsqueda en una tabla y se hizo hace una hora! "Sin embargo, si usted est
interesado en
la solucin de toda una clase de problemas de toma de decisiones similares, la
lgica difusa puede
proporcionar una herramienta apropiada para la solucin, dada su facilidad con la
que un sistema de
puede ser modificada rpidamente.
La importacin y exportacin de las herramientas GUI
Al guardar un sistema difuso en el disco, que est ahorrando un archivo de texto
ASCII FIS
representacin de ese sistema con el sufijo de archivo
.fis
. Este archivo de texto puede ser
editado y modificado y es sencillo de entender. Al guardar su difusa
sistema para el espacio de trabajo de MATLAB, que est creando una variable
(cuyo nombre se
elegir) que actuar como una estructura de MATLAB para el sistema de FIS. FIS
y archivos
estructuras FIS representan el mismo sistema.
Nota:
Si no guarda el FIS en el disco, pero slo guarda en la
MATLAB espacio de trabajo, usted no ser capaz de recuperarlo para su uso en
un nuevo
sesin de MATLAB.
Pgina 77

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-63
Personalizacin del sistema Fuzzy
Si desea incluir funciones personalizadas como parte de su uso del Fuzzy
Caja de herramientas de la lgica, hay algunas pautas que debe seguir. El mtodo
y,

mtodo o, mtodo de agregacin, y el mtodo en defuzzification funciones que se


proporcionar necesidad de trabajar de una manera similar a la
max
,
min
o
pinchar
en MATLAB. Es decir,
deben ser capaces de operar por las columnas de una matriz. Por ejemplo, el
mtodo implicacin hace un elemento de operacin de matriz elemento, similar a
el
min
funcin, como en
a = [1 2; 3 4];
b = [2 2; 2 2];
min (a, b)
ans =
1
2
2
2
Las funciones de pertenencia personalizada
Puede crear sus propias funciones de pertenencia utilizando un archivo-M. Los
valores
estas funciones pueden tomar deben estar entre 0 y 1. Hay una limitacin en
personalizado funciones de pertenencia en la que no se puede usar ms de un 16
parmetros.
Para definir una funcin de pertenencia personalizada denominada
custmf
:
1
Crear un archivo-M para una funcin,
custmf.m
, Que toma valores entre 0 y
1, y depende de un mximo de 16 parmetros.
2
Elija el Aadir MF encargo elemento de la Editar men de la membresa
Funcin Editor GUI.
3
Introduzca su nombre de la funcin de archivo M de suscripciones personalizado,
custmf

, En el archivo-M
nombre de la funcin cuadro de texto.
4
Introducir el vector de parmetros que desea utilizar para parametrizar su
funcin de pertenencia personalizada en el cuadro de texto junto a la lista de
parmetros .
5
Dar la funcin de pertenencia personalizada un nombre diferente de cualquier
otro
pertenencia nombre de la funcin que va a utilizar en su FIS.
6
Seleccione Aceptar .
Pgina 78

2
Tutorial
2-64
Aqu hay un cdigo de ejemplo para una funcin de pertenencia de encargo,
testmf1
, ese
depende de ocho parmetros entre 0 y 10.
funcin a cabo testmf1 = (x, params)
para i = 1: longitud (x)
si x (i) <params (1)
y (i) = params (1);
elseif x (i) <params (2)
y (i) = params (2);
elseif x (i) <params (3)
y (i) = params (3);
elseif x (i) <params (4)
y (i) = params (4);
elseif x (i) <params (5)
y (i) = params (5);
elseif x (i) <params (6)
y (i) = params (6);
elseif x (i) <params (7)
y (i) = params (7);
elseif x (i) <params (8)
y (i) = params (8);
ms
y (i) = 0;
fin

fin
= y fuera .1 * ';
Usted puede tratar de nombrar este archivo
testmf1.m
y cargarlo en la membresa
Editor funcin utilizando los parmetros de su eleccin.
Pgina 79

Trabajando desde la lnea de comandos


2-65
Trabajando desde la lnea de comandos
El sistema de ejemplo de inclinar es uno de los muchos sistemas de inferencia
difusos ejemplo
proporcionado con la caja de herramientas Lgica Difusa. El FIS siempre est
echado como MATLAB
estructura. Para cargar este sistema (en lugar de molestarse con crendolo de
cero), el tipo de
a = readfis ( 'tipper.fis')
MATLAB responder con
a=
Nombre: 'volquete'
Tipo: 'Mamdani'
andMethod: 'min'
orMethod: 'max'
defuzzMethod: 'centro de gravedad'
impMethod: 'min'
aggMethod: 'max'
entrada: [struct 1x2]
Salida: [1x1 struct]
regla: [1x3 struct]
Las etiquetas de la izquierda de este listado representan los diversos componentes
de la
estructura MATLAB asociado con
tipper.fis.
Se puede acceder a los distintos
componentes de esta estructura escribiendo el nombre del componente despus
de escribir
un
.A
la lnea de comandos de MATLAB, Tipo
un tipo
por ejemplo. MATLAB responder con

ans =
Mamdani
La funcin
getfis (a)
devuelve casi la misma estructura que la informacin a escribir
un
, Solo lo hace.
getfis (a)
devoluciones
Nombre
= volquete
Type = Mamdani
pgina 80

2
Tutorial
2-66
NumInputs = 2
InLabels =
Servicio
comida
NumOutputs = 1
OutLabels =
propina
NumRules = 3
AndMethod = min
OrMethod = max
ImpMethod = min
AggMethod = max
DefuzzMethod = centroide
Ntese que algunos de estos campos no son parte de la estructura,
un
. Por lo tanto, se
no se puede obtener informacin escribiendo
a.Inlabels,
pero se puede obtener tecleando:
getfis (a, '' Inlabels)
Del mismo modo, se puede obtener informacin de la estructura utilizando
getfis
de esta forma.
getfis (a, 'de entrada', 1)
getfis (a, 'salida', 1)

getfis (a, 'de entrada', 1, 'mf', 1)


los
structure.field
sintaxis tambin genera esta informacin. Para ms
informacin sobre la sintaxis de las estructuras de MATLAB, vase el captulo 13
", Estructuras
y matrices celulares, "en Utilizacin de MATLAB .
Por ejemplo, el tipo de
a.input
o
a.input (1) .MF (1)
La funcin
getfis
est basado libremente en los grficos de la manija

funcin
obtener
.
Tambin hay una funcin llamada
setfis
que acta como el recproco de
getfis
. Eso
le permite cambiar cualquier propiedad de un FIS. Por ejemplo, si desea
cambiar el nombre de este sistema, puede escribir
a = setfis (a, 'nombre', 'propina');
pgina 81

Trabajando desde la lnea de comandos


2-67
Sin embargo, puesto
un
es ya una estructura de MATLAB, puede configurar esta informacin
ms simplemente escribiendo
a.name = 'propina';
Ahora la estructura FIS
un
se ha cambiado para reflejar el nuevo nombre. si tu quieres
un poco ms de comprensin de esta estructura de esqu alpino, tratar
showfis (a)
Esto devuelve una copia de este listado toda la informacin acerca
un

. Esta funcin es
destinado para la depuracin ms que cualquier otra cosa, pero muestra todo el
informacin registrada en la estructura FIS
Puesto que la variable,
un,
designa el sistema de volcado difusa, puede llamar a cualquier
de las interfaces grficas de usuario para el sistema de volcado directamente
desde la lnea de comandos. Cualquiera de los
siguiente para abrir el sistema de volcado con la interfaz grfica de usuario
asociado.

difusa (a)
: Aparecer el Editor de FIS

mfedit (a)
: Aparecer el Editor de afiliacin Funcin

RuleEdit (a)
: Abre el editor de reglas

ruleview (a)
: trae a colacin
el
Regla Visor

SURFVIEW (a)
: trae a colacin
el
Visor de superficie
Si, adems,
un
es un tipo Sugeno de esqu alpino, a continuacin,
anfisedit (a)
para abrir el
ANFIS Editor GUI.
Una vez que cualquiera de estas interfaces grficas de usuario se ha abierto,
puede acceder a cualquiera de las otras interfaces grficas de usuario
utilizando el men desplegable en lugar de la lnea de comandos.
Funciones de la pantalla del sistema
Hay tres funciones diseadas para darle una visin de alto nivel de su difusa
sistema de inferencia a partir de la lnea de comandos:

plotfis
,
plotmf
y
gensurf
. los
pgina 82

2
Tutorial
2-68
primera de estas pantallas todo el sistema como un diagrama de bloques tanto
como lo hara
aparecer en el Editor de esqu alpino.
plotfis (a)
Despus de cerrar las cifras o GUI de MATLAB ventanas abiertas, la funcin
plotmf
parcelas todas las funciones de pertenencia asociados con una variable dada
como sigue:
plotmf (a, 'de entrada', 1)
devoluciones
Pgina 83

Trabajando desde la lnea de comandos


2-69
plotmf (a, 'salida', 1)
Estas parcelas aparecern en la interfaz grfica de usuario Editor de afiliacin de
funciones, o de una manera abierta
MATLAB figura, si
plotmf
se llama mientras que ninguno de ellos es abierto.
0
1
2
3
4
5
6
7
8
9
10

0
0,2
0,4
0,6
0,8
1
Servicio
Grado de pertenencia
pobre
bueno
excelente
0
5
10
15
20
25
30
0
0,2
0,4
0,6
0,8
1
propina
Grado de pertenencia
barato
promedio
generoso
pgina 84

2
Tutorial
2-70
Finalmente, la funcin
gensurf
trazar las una o dos entradas frente a cualquiera
de salida de un sistema dado. El resultado es o bien una curva de dos
dimensiones, o una
superficie tridimensional. Tenga en cuenta que cuando hay tres o ms entradas,
gensurf
debe ser generado con todos menos dos entradas fijas, como se describe en el

descripcin de
genfis
en el captulo 3, "Referencia" .
gensurf (a)
La construccin de un sistema desde cero
Es posible usar la Lgica Difusa Caja de herramientas sin molestarse con la GUI
herramientas en absoluto. Por ejemplo, para construir el sistema de volcado por
completo de la
lnea de comandos, que utilizara los comandos
newfis
,
addvar
,
addmf
y
addrule
.
Probablemente la parte ms difcil de este proceso es el aprendizaje de la
taquigrafa que la
sistemas de inferencia difusos utilizan para las reglas de construccin. Esto se
logra utilizando la
funcin de lnea de comandos,
addrule
.
Cada variable, entrada o de salida, tiene un nmero de ndice, y cada suscripcin
funcin tiene un nmero de ndice. Las reglas se construyen a partir de
declaraciones como esta
si es INPUT1 o INPUT2 MF1 es MF3 entonces output1 es MF2 (peso = 0,5)
Esta regla se convierte en una estructura de acuerdo con la siguiente lgica: si
hay
m entradas a un sistema y n salidas, entonces el primer m entradas vector de la
regla
estructura corresponde a las entradas 1 a m . La entrada en la columna 1 es el
ndice
nmero de la funcin de pertenencia asociado con la entrada 1. La entrada en
0
2
4
6
8
10

0
2
4
6
8
10
5
10
15
20
25
Servicio
comida
propina
pgina 85

Trabajando desde la lnea de comandos


2-71
columna 2 es el nmero de ndice de la funcin de pertenencia asociado con
entrada 2. Y as sucesivamente. Los prximos n columnas funcionan de la misma
manera para las salidas.
Columna m + n + 1 es el peso asociado con la regla (tpicamente 1) y
columna de m + n + 2 especifica el trmino de enlace utilizado (donde Y = 1 y
OR = 2).
La estructura asociada con la regla anterior es
1 3 2 2 0,5
Esta es una manera usted puede construir todo el sistema de inflexin a partir del
comando
lnea, usando la sintaxis de la estructura de MATLAB.
a = newfis ( 'volquete');
a.input (1) .name = "servicio";
a.input (1) .Range = [0 10];
a.input (1) .MF (1) .name = "pobre";
a.input (1) .MF (1) .type = 'gaussmf';
a.input (1) .MF (1) .params = [1,5 0];
a.input (1) .MF (2) .name = "bueno";
a.input (1) .MF (2) .type = 'gaussmf';
a.input (1) .MF (2) .params = [1,5 5];
a.input (1) .MF (3) .name = "excelente";
a.input (1) .MF (3) .type = 'gaussmf';
a.input (1) .MF (3) .params = [1,5 10];
a.input (2) .name = "alimento";

a.input (2) .Range = [0 10];


a.input (2) .MF (1) .name = 'rancio';
a.input (2) .MF (1) .type = 'trapmf';
a.input (2) .MF (1) .params = [- 2 0 1 3];
a.input (2) .MF (2) .name = 'deliciosa';
a.input (2) .MF (2) .type = 'trapmf';
a.input (2) .MF (2) .params = [7 9 10 12];
a.output (1) .name = 'punta';
a.output (1) .Range = [0 30];
a.output (1) .MF (1) .name = "barato"
a.output (1) .MF (1) .type = 'trimf';
a.output (1) .MF (1) .params = [0 5 10];
a.output (1) .MF (2) .name = "medio";
a.output (1) .MF (2) .type = 'trimf';
a.output (1) .MF (2) .params = [10 15 20];
a.output (1) .MF (3) .name = "generosa";
a.output (1) .MF (3) .type = 'trimf';
pgina 86

2
Tutorial
2-72
a.output (1) .MF (3) .params = [20 25 30];
a.rule (1) .antecedent = [1 1];
a.rule (1) .consequent = [1];
a.rule (1) .Weight = 1;
a.rule (1) .connection = 2;
a.rule (2) .antecedent = [2 0];
a.rule (2) .consequent = [2];
a.rule (2) .Weight = 1;
a.rule (2) .connection = 1;
a.rule (3) .antecedent = [3 2];
a.rule (3) .consequent = [3];
a.rule (3) .Weight = 1;
a.rule (3) .connection = 2
Por otra parte, aqu es cmo se puede construir todo el sistema de volcado de la
lnea de comandos mediante comandos Fuzzy Toolbox lgica.
a = newfis ( 'volquete');
a = addmf (a, 'de entrada', 1, "servicio", [10 0]);
a = addmf (a, 'de entrada', 1, 'pobres', 'gaussmf', [1,5 0]);
a = addmf (a, 'de entrada', 1, 'bueno', 'gaussmf', [1,5 5]);
a = addmf (a, 'de entrada', 1, 'excelente', 'gaussmf', [1,5 10]);

a = addvar (a, "entrada", "comida", [10 0]);


a = addmf (a, 'de entrada', 2 'rancio', 'trapmf', [- 2 0 1 3]);
a = addmf (a, 'de entrada', 2 'delicioso', 'trapmf', [7 9 10 12]);
a = addvar (a, 'salida', 'punta', [0 30]);
a = addmf (a, 'salida', 1, 'barato', 'trimf', [0 5 10]);
a = addmf (a, 'salida', 1, 'media', 'trimf', [10 15 20]);
a = addmf (a, 'salida', 1, 'generoso', 'trimf', [20 25 30]);
ruleList = [...
11112
20211
3 2 3 1 2];
a = addrule (a, ruleList);
Pgina 87

Trabajando desde la lnea de comandos


2-73
Evaluacin FIS
Para evaluar la salida de un sistema difuso para una entrada dada, utilice la
funcin
evalfis
. Por ejemplo, la siguiente secuencia de comandos evala
volquete
en la entrada, [1 2].
a = readfis ( 'volquete');
evalfis ([1 2], a)
ans =
5.5586
Esta funcin tambin se puede utilizar para mltiples colecciones de entradas, ya
que diferentes
vectores de entrada estn representadas en diferentes partes de la estructura de
entrada. Haciendo
mltiples evaluaciones a la vez, se obtiene un gran impulso en la velocidad.
evalfis ([3 5; 2 7], a)
ans =
12.2184
7.7885
La estructura FIS
La estructura FIS es el objeto de MATLAB que contiene toda la inferencia difusa
informacin del sistema. Esta estructura se almacena dentro de cada herramienta
de interfaz grfica de usuario. Acceso
funciones tales como
getfis

y
setfis
hacen que sea fcil para examinar esta estructura.
Tambin puede acceder a la informacin de estructura FIS usando el
structure.field
la sintaxis (ver la seccin "Trabajando desde la lnea de comandos" en la pgina
2-65) .
Toda la informacin para un sistema de inferencia borrosa dado est contenida en
el FIS
estructura, incluyendo los nombres de variables, definiciones de funciones de
pertenencia, y por lo
pgina 88

2
Tutorial
2-74
en. Esta estructura puede por s mismo ser pensado como una jerarqua de
estructuras, como se muestra
en el siguiente diagrama:
Puede generar una lista de informacin sobre el FIS usando el
showfis
de comandos, como se muestra a continuacin.
showfis (a)
1. Nombre
volquete
2. Tipo
Mamdani
3. Entradas / Salidas [2 1]
4. NumInputMFs [3] 2
5. NumOutputMFs 3
6. NumRules 3
7. AndMethod min
8. OrMethod mximo
9. ImpMethod min
10. AggMethod mximo
11. centroide DefuzzMethod
12. Servicio InLabels
13.
comida
14. punta OutLabels
FIS
nombre

tipo
andMethod
orMethod
defuzzMethod
impMethod
aggMethod
entrada
salida
regla
entrada
nombre
distancia
mf
reglas
antecedente
consiguiente
peso
conexiones
INPUT1 FMs
nombre
tipo
params
FMs de salida
nombre
tipo
params
salida
nombre
distancia
mf
INPUT2 FMs
nombre
tipo
params
pgina 89

Trabajando desde la lnea de comandos


2-75
15. InRange
[0 10]
diecisis.
[0 10]

17. superar en el alcance de tiro


[0 30]
18. InMFLabels
pobre
19.
bueno
20.
excelente
21.
rancio
22.
delicioso
23. OutMFLabels
barato
24.
promedio
25.
generoso
26. InMFTypes
gaussmf
27.
gaussmf
28.
gaussmf
29.
trapmf
30.
trapmf
31. OutMFTypes
trimf
32.
trimf
33.
trimf
34. InMFParams
[1,5 0 0 0]
35.
[1,5 5 0 0]
36.
[1.5 10 0 0]
37.

[0 0 1 3]
38.
[7 9 10 10]
39. OutMFParams
[5 0 10 0]
40.
[10 15 20 0]
41.
[20 25 30 0]
42. Regla Antecedente [1 1]
43.
[2 0]
44.
[3 2]
Regla 42. Consecuente 1
43.
2
44.
3
42. Regla Peso
1
43.
1
44.
1
42. Regla de conexin 2
43.
1
44.
2
Pgina 90

2
Tutorial
2-76
La lista de funciones de lnea de comandos asociados a la construccin FIS
incluye
getfis
,
setfis
,
showfis

,
addvar
,
addmf
,
addrule
,
rmvar
y
rmmf
.
FIS ahorro de archivos en el disco
Un formato de archivo de texto especializado se utiliza para guardar los sistemas
de inferencia difusos a una
disco. Las funciones
readfis
y
writefis
se utilizan para la lectura y la escritura
estos archivos.
Si lo prefiere, puede modificar los FIS mediante la edicin de su
.fis
archivo de texto en lugar de
utilizando cualquiera de los interfaces grficas de usuario. Debe tener en cuenta,
sin embargo, que el cambio de una entrada
puede obligar a cambiar a otra. Por ejemplo, si elimina una calidad de miembro
funcin utilizando este mtodo, tambin hay que asegurarse de que las normas
que requiere esta funcin de pertenencia tambin se eliminan.
Las reglas aparecen en el formato "indexado" en una
.fis
Archivo de texto. Aqu est el archivo
tipper.fis
.
[Sistema]
Name = 'volquete'
Type = 'Mamdani'
NumInputs = 2
NumOutputs = 1
NumRules = 3
AndMethod = 'min'
OrMethod = "max"

ImpMethod = 'min'
AggMethod = "max"
DefuzzMethod = 'centroide'
[Entrada 1]
Name = "servicio"
Rango = [0 10]
NumMFs = 3
MF1 = 'pobres': 'gaussmf', [1,5 0]
MF2 = 'buena': 'gaussmf', [1,5 5]
MF3 = 'excelente': 'gaussmf', [1,5 10]
[Entrada2]
Name = "alimento"
Rango = [0 10]
NumMFs = 2
Pgina 91

Trabajando desde la lnea de comandos


2-77
MF1 = 'rancio': 'trapmf', [0 0 1 3]
MF2 = 'deliciosa': 'trapmf', [7 9 10 10]
[Output1]
Nombre 'punta' =
Rango = [0 30]
NumMFs = 3
MF1 = 'barato': 'trimf', [0 5 10]
MF2 = 'normal': 'trimf', [10 15 20]
MF3 = 'generosa': 'trimf', [20 25 30]
[Reglas]
1 1, 1 (1): 2
2 0, 2 (1): 1
3 2, 3 (1): 2
pgina 92

2
Tutorial
2-78
Trabajando con Simulink
La Caja de herramientas de la lgica difusa ha sido diseado para funcionar
perfectamente con Simulink, el
software de simulacin disponible de The MathWorks. Una vez que haya creado
su

sistema difuso usando las herramientas de la GUI o algn otro mtodo, ya est
listo para empotrar
su sistema directamente en una simulacin.
Un ejemplo: Control de Nivel de Agua
Imagen de un tanque con un tubo que entra y que sale una tubera. Tu puedes
cambiar
la vlvula que controla el agua que fluye en, pero la tasa de flujo de salida
depende de
el dimetro de la tubera de salida (que es constante) y la presin en el
tanque (que vara con el nivel del agua). El sistema tiene algunos muy no lineal
caractersticas.
Un controlador para el nivel de agua en el tanque necesita saber el agua corriente
nivel y tiene que ser capaz de configurar la vlvula. de entrada de nuestro
controlador ser el
error de nivel de agua (menos el nivel de agua real nivel de agua deseado) y su
salida
ser la velocidad a la que la vlvula se abre o cierra. Un primer paso en la
escritura
un controlador difuso para este sistema podra ser el siguiente.
1. Si (nivel est bien), entonces (vlvula es no_change) (1)
2. Si (nivel es bajo) a continuacin (la vlvula es open_fast) (1)
3. Si (nivel es alto) a continuacin (la vlvula es close_fast) (1)
Una de las grandes ventajas de la Lgica Difusa caja de herramientas es la
capacidad de tomar
sistemas difusos directamente en Simulink y ponerlas a prueba en una simulacin
ambiente. Un diagrama de bloques Simulink para este sistema se muestra a
continuacin. Eso
Pgina 93

Trabajando con Simulink


2-79
contiene un bloque de Simulink llamado el bloque del Controlador de Lgica
Difusa. los
diagrama de bloques Simulink para este sistema es
sltank
. Mecanografa
sltank
en la lnea de comandos, hace que el sistema aparecer.
Al mismo tiempo, el archivo
tank.fis
se carga en la estructura FIS
tanque

.
pgina 94

2
Tutorial
2-80
Alguna experimentacin muestra que tres reglas no son suficientes, ya que el
el nivel del agua tiende a oscilar en torno al nivel deseado. Esto se ven desde la
parcela
abajo.
Tenemos que aadir otra entrada, velocidad de cambio del nivel del agua, para
reducir la velocidad
el movimiento de la vlvula cuando nos acercamos al nivel adecuado.
4. Si (nivel es bueno) y (tasa es negativo), entonces (vlvula es close_slow) (1)
5. Si (nivel es bueno) y (tasa es positivo), entonces (vlvula es open_slow) (1)
La demostracin,
sltank
est construido con estas cinco reglas. Puede examinar con los cinco
normas en las operaciones, la respuesta al escaln mediante la simulacin de este
sistema. Esto esta hecho
haciendo clic en Inicio en el men desplegable bajo Simular y hacer clic en
la comparacin de bloques. El resultado es el siguiente
Una caracterstica interesante del sistema de depsito de agua es que el tanque se
vaca mucho
ms lentamente de lo que se llena por el valor especfico del dimetro de salida
tubo. Podemos hacer frente a esto estableciendo el nmero de miembros de la
vlvula close_slow
funcin sea ligeramente diferente de la configuracin open_slow. Un controlador
PID
no tiene esta capacidad. El comando de la vlvula en comparacin con el nivel de
agua
0
10
20
30
40
50
60
70
80
90
100

0
0,2
0,4
0,6
0,8
1
1.2
1.4
1.6
1.8
2
Tiempo (segundos)
0
10
20
30
40
50
60
70
80
90
100
0
0,2
0,4
0,6
0,8
1
1.2
1.4
1.6
1.8
2
Tiempo (segundos)
pgina 95

Trabajando con Simulink


2-81
tasa de cambio (representado como el agua ) y el cambio en el nivel relativo de
agua (representado

como nivel de ) la superficie se parece a esto. Si se mira de cerca, se puede ver un


ligero
la asimetra de la trama.
Debido a que el entorno de clculo tcnico de MATLAB soporta tantos
herramientas (como el sistema de control de la caja de herramientas, la caja de
herramientas de red neuronal, la
No lineal Control de Diseo Blockset, etc.), se puede, por ejemplo, fcilmente
hacer una comparacin de un controlador difuso frente a un controlador lineal o
un neural
controlador de red.
Para una demostracin de cmo el Visor de Reglas se puede usar para interactuar
con una
bloque del Controlador de Lgica Difusa en un modelo Simulink, Tipo
sltankrule
Esta demo contiene un bloque llamado el controlador borroso Con bloque de
Visor de Reglas.
En esta demostracin, el Visor de Reglas se abre al iniciar la simulacin
Simulink.
Este Visor de Reglas ofrece una animacin de cmo las reglas se disparan
durante el
-1
-0.5
0
0,5
1
-0.1
-0.05
0
0.05
0,1
-0.8
-0.6
-0.4
-0.2
0
0,2
0,4
0,6
0,8
nivel
agua

vlvula
pgina 96

2
Tutorial
2-82
la simulacin del tanque de agua. Las ventanas que se abren cuando se simula la
sltankrule
de demostracin se representan como sigue:
El visor de la regla que se abre durante la simulacin se puede utilizar para
acceder a la
La membresa funcin de editor, el editor de reglas, o cualquiera de las otras
interfaces grficas de usuario, (vase
"La funcin de editor de miembro" en la pgina 2-52, o "El editor de reglas" en la
pgina
2-56 , para obtener ms informacin).
pgina 97

Trabajando con Simulink


2-83
Por ejemplo, es posible que desee para abrir el editor de reglas para cambiar una
de sus reglas.
Para ello, seleccione la normativa Editar elemento de men en el Vista men
del abierto
Regla Visor. Ahora se puede ver o editar las reglas para este modelo de Simulink:
Es mejor si se detiene la simulacin antes de seleccionar cualquiera de estos
editores
cambiar la FIS. No olvide guardar los cambios realizados en el FIS a la
espacio de trabajo antes de reiniciar la simulacin.
La construccin de sus propios modelos de Simulink Fuzzy
Para construir sus propios sistemas de Simulink que utilizan la lgica difusa,
simplemente copia el Fuzzy
Controlador lgico de bloquear
sltank
(O cualquiera de los otros de demostracin Simulink
sistemas disponibles con la caja de herramientas) y lo coloca en su propio
diagrama de bloques. T
Tambin puede abrir la biblioteca Simulink llamada
fuzblock
, Que contiene el Fuzzy
bloque del Controlador de Lgica, el controlador difuso Con bloque de Visor de
Reglas, y

varios bloques de demostracin. Para acceder a estos bloques, tipo de


fuzblock
pgina 98

2
Tutorial
2-84
en el indicador de MATLAB. La biblioteca siguiente aparece:
Al utilizar estos bloques, asegrese de que el sistema de inferencia borrosa (FIS)
estructura correspondiente a su sistema difuso es a la vez en el MATLAB
espacio de trabajo, y se refiri a por su nombre en el cuadro de dilogo asociado
con el Fuzzy
bloque del Controlador de Lgica.
Haga doble clic en el bloque controlador borroso Con Visor de Reglas, y la
siguiente
aparece:
Este bloque utiliza el mtodo de retencin de orden cero para el muestreo.
El bloque controlador lgico Fuzzy es un bloque de Simulink enmascarada en
base a la
S-funcin
sffis.mex
. Esta funcin se basa en s mismos algoritmos que las
la funcin
evalfis
, Pero se ha adaptado para funcionar de forma ptima dentro de la
pgina 99

Trabajando con Simulink


2-85
ambiente Simulink. Para ms descripciones de estos, vase
fuzblock
en la pgina
3-27 , y
sffis
en la pgina 3-65.
pgina 100

2
Tutorial
2-86
Sugeno-Inferencia Difusa

El proceso de inferencia borrosa que hemos estado refiriendo a la medida que se


conoce como
mtodo de inferencia borrosa de Mamdani. Es el ms comnmente visto difusa
metodologa. En esta seccin se discuten la llamada Sugeno, o
mtodo de Takagi-Sugeno-Kang de inferencia borrosa introdujo por primera vez
en 1985
[Sug85]. Es similar al mtodo de Mamdani en muchos aspectos. De hecho la
primera
dos partes del proceso de inferencia difusa, fuzzifying los insumos y la aplicacin
de la
operador borroso, son exactamente los mismos. La diferencia principal entre
Mamdani-tipo de inferencia borrosa y Sugeno-tipo es que la salida
funciones de pertenencia son solamente lineal o constante para Sugeno de tipo
difuso
inferencia.
Una regla difusa tpico en un orden cero modelo difuso Sugeno tiene la forma
Si x es A y Y es B entonces z = k
donde A y B son conjuntos difusos en el antecedente, mientras que k es un
quebradizo define
constante en el consecuente. Cuando la salida de cada regla es una constante de
este tipo,
la similitud con el mtodo de Mamdani es sorprendente. Las nicas diferencias
son el
hecho de que todas las funciones de pertenencia de salida son nicos picos, y la
mtodos de implicacin y de agregacin son fijos y no se pueden editar. los
mtodo de implicacin es simplemente la multiplicacin, y el operador
simplemente la agregacin
incluye todos los singletons.
pgina 101

Sugeno-Inferencia Difusa
2-87
La figura anterior muestra el modelo de inflexin difusa desarrollado en las
secciones anteriores
de este manual adaptado para su uso como un sistema de Sugeno de orden
cero. Afortunadamente es
con frecuencia el caso de que las funciones de salida simples son totalmente
suficientes para
las necesidades de un determinado problema. A modo de ejemplo, el sistema de
tippersg.fis
es el
De tipo Sugeno representacin del modelo de inflexin ya familiar. Si carga el

5. Defuzzify
(ponderado
promedio)
4. Aplicar
agregacin
mtodo (max).
2. Aplicar
borroso
operacin
(OR = max)
1. Entradas Fuzzify
3. Aplicar
implicacin
mtodo (min).
delicioso
promedio
bueno
excelente
rancio
barato
pobre
generoso
comida = 8
entrada 2
salida
Regla 2 tiene
ninguna dependencia
en la entrada 2
punta = 16,3%
servicio = 3
entrada 1
Si
el servicio es deficiente
comida es rancio
punta = barato
entonces
o
Si
el servicio es bueno
entonces
punta = promedio

Si el servicio es excelente
la comida es deliciosa
entonces
o
punta = generosa
1.
2.
3.
Pgina 102

2
Tutorial
2-88
sistema y trazar su superficie de salida, se ve que es casi la misma que la
Mamdani sistema que hemos estado viendo.
a = readfis ( 'tippersg');
gensurf (a)
El ms general de primer orden Sugeno modelo difuso tiene reglas de la forma
Si x es A y Y es B entonces z = p * x + q * y + r
donde A y B son conjuntos difusos en el antecedente, mientras que p , q , y r son
todos
constantes. La forma ms fcil de visualizar el sistema de primer orden es pensar
en cada
gobernar como la definicin de la ubicacin de un "producto nico en
movimiento". Es decir, el singleton
picos de salida pueden moverse de forma lineal en el espacio de salida,
dependiendo de lo que es la entrada. Esto tambin tiende a hacer que la notacin
sistema
muy compacto y eficiente. modelos difusos Superior Sugeno fin son posibles,
pero
introducen una complejidad significativa con poco mrito obvio. Sugeno difusa
modelos cuyas funciones de pertenencia de salida son mayores de primer orden
no son
con el apoyo de la Caja de herramientas de la lgica difusa.
Debido a la dependencia lineal de cada regla en variables de entrada del sistema,
el mtodo de Sugeno es ideal para actuar como un supervisor de la interpolacin
de mltiples
controladores lineales que se han de aplicar, respectivamente, a diferentes
operativo
condiciones de un sistema no lineal dinmica. Por ejemplo, el rendimiento de una
aeronave puede cambiar dramticamente con la altura y el nmero de
Mach. Lineal

controladores, aunque fcil de calcular y muy adecuado para un vuelo


determinado
condicin, se debe actualizar con regularidad y sin problemas para mantenerse al
da con el
el cambio de estado del vehculo de vuelo. Un sistema de inferencia borrosa
Sugeno es
0
2
4
6
8
10
0
2
4
6
8
10
10
15
20
Servicio
comida
propina
Pgina 103

Sugeno-Inferencia Difusa
2-89
extremadamente bien adaptado a la tarea de interpolacin sin problemas las
ganancias lineales
que se aplicara a travs del espacio de entrada; es una ganancia natural y eficaz
planificador. Del mismo modo, un sistema de Sugeno es adecuado para sistemas
no lineales de modelado
mediante la interpolacin de mltiples modelos lineales.
Un ejemplo: dos lneas
Para ver un ejemplo especfico de un sistema con funciones de pertenencia de
salida lineal,
considerar el sistema una salida de una entrada almacenada en
sugeno1.fis
.
fismat = readfis ( 'sugeno1');
getfis (fismat, 'salida', 1)

Nombre = salida
NumMFs = 2
MFLabels =
lnea 1
lnea 2
Rango = [0 1]
La variable de salida tiene dos funciones de pertenencia:
getfis (fismat, 'salida', 1, 'mf', 1)
Name = lnea 1
Type = lineal
params =
-1 -1
getfis (fismat, 'salida', 1, 'mf', 2)
Name = lnea 2
Type = lineal
params =
1 -1
Adems, estas funciones de pertenencia son funciones lineales de la variable de
entrada.
La funcin de pertenencia
lnea 1
se define por la ecuacin
salida = (-1) * entrada + (-1)
y la funcin de pertenencia
lnea 2
se define por la ecuacin
salida = (1) * entrada + (-1)
pgina 104

2
Tutorial
2-90
Las funciones y las normas de adhesin de entrada definen cules de ellas de
salida
funciones se expresarn y cundo.
showrule (fismat)
ans =
1. Si (entrada es baja), entonces (la salida es lnea 1) (1)
2. Si (entrada es alta), entonces (la salida es la lnea 2) (1)
La funcin
plotmf
nos muestra que la funcin de pertenencia

bajo
en general
se refiere a los valores de entrada menor que cero, mientras
alto
se refiere a valores mayores de
cero. La funcin
gensurf
muestra cmo los interruptores de salida global del sistema difuso
sin problemas desde la lnea de llamada
lnea 1
a la lnea de llamada
lnea 2
.
subtrama (2,1,1), plotmf (fismat, "entrada", 1)
subtrama (2,1,2), gensurf (fismat)
Este es slo un ejemplo de cmo un sistema de tipo Sugeno le da la libertad de
incorporar sistemas lineales en sus sistemas difusos. Por extensin, se poda
construir un sistema difuso que permite cambiar entre varios controladores
lineales ptimos
como un sistema altamente no lineal se mueve en su espacio operativo.
Conclusin
Debido a que es una representacin ms compacta y eficiente que
computacionalmente
un sistema de Mamdani, el sistema Sugeno se presta a la utilizacin de
adaptacin
tcnicas para la construccin de modelos difusos. Estas tcnicas pueden ser
adaptativas
utilizada para personalizar las funciones de pertenencia de modo que el sistema
difuso mejor
modelos de los datos.
-5
-4
-3
-2
-1
0
1
2
3
4
5

0
0,2
0,4
0,6
0,8
1
entrada
Grado de creencia
bajo
alto
-5
-4
-3
-2
-1
0
1
2
3
4
5
-1
0
1
2
3
4
entrada
salida
pgina 105

Sugeno-Inferencia Difusa
2-91
Nota sobre la conversin de esqu alpino:
La funcin de lnea de comandos de MATLAB
mam2sug
poder
puede utilizar para convertir un sistema de Mamdani en un sistema Sugeno (no
necesariamente
con una nica salida) con funciones de pertenencia de salida constante. Se utiliza
el
centroide asociado con todas las funciones de pertenencia de salida de la

sistema de Mamdani. Vase el Captulo 3 para ms detalles.


Estas son algunas consideraciones finales sobre los dos mtodos diferentes:
Las ventajas del mtodo Sugeno
Es computacionalmente eficiente.
Funciona bien con las tcnicas lineales (por ejemplo, el control PID).
Funciona bien con la optimizacin y tcnicas de adaptacin.
Se ha garantizado la continuidad de la superficie de salida.
Se adapta bien al anlisis matemtico.
Ventajas del mtodo de Mamdani
Es intuitivo.
Dispone de una amplia aceptacin.
Se adapta bien a la intervencin humana.
pgina 106

2
Tutorial
2-92
ANFIS y la GUI Editor ANFIS
La estructura bsica del tipo de sistema de inferencia borrosa que hemos visto
hasta
ahora es un modelo que asigna caractersticas de entrada de funciones de
pertenencia de entrada,
entrada de funcin de pertenencia a las normas, las reglas a un conjunto de
caractersticas de salida,
caractersticas de salida a las funciones de pertenencia de salida, y la salida
funcin de pertenencia a una salida de un solo valor o una decisin asociada con
La salida. Slo hemos considerado funciones de pertenencia que han sido
fijo, y un tanto arbitrariamente elegido. Adems, slo hemos aplicado difusa
inferencia de sistemas de modelizacin cuya estructura es esencialmente la regla
predeterminado por la interpretacin del usuario de las caractersticas de la
variables en el modelo.
En esta seccin se discute el uso de la funcin
ANFIS
y el Editor ANFIS
Interfaz grfica de usuario en el cuadro de herramientas Lgica Difusa. Estas
herramientas se aplican tcnicas de inferencia difusos
para el modelado de datos. Como se ha visto desde los otros interfaces grficas
de usuario de inferencia difusos, la
la forma de las funciones de pertenencia depende de parmetros, y el cambio de
estos parmetros cambiarn la forma de la funcin de pertenencia. En lugar de
slo mirar los datos para elegir los parmetros de la funcin de pertenencia, que
se

ver cmo los parmetros de funciones de pertenencia se pueden elegir


automticamente
estas aplicaciones Toolbox lgica difusa.
Un escenario de Modelado
Supongamos que se desea aplicar la inferencia difusa a un sistema para el que ya
se
tener una coleccin de datos de entrada / salida que desea utilizar para el
modelado,
modelo de seguimiento, o alguna situacin similar. Usted no necesariamente
tiene una
la estructura del modelo predeterminado basado en las caractersticas de las
variables en su
sistema.
Habr algunas situaciones de modelado en el que no se puede simplemente mirar
los datos
y discernir cules son las funciones de pertenencia debe ser similar. Ms bien que
la eleccin de los parmetros asociados con una funcin de pertenencia dado
arbitrariamente, estos parmetros podran ser elegidas con el fin de adaptar el
nmero de miembros
funciones a los datos de entrada / salida con el fin de dar cuenta de este tipo de
las variaciones en los valores de datos. Aqu es donde la llamada neuroadaptativo
tcnicas de aprendizaje incorporan en
ANFIS
en la Caja de herramientas de la lgica difusa puede
ayuda.
pgina 107

ANFIS y la GUI Editor ANFIS


2-93
Modelo de Aprendizaje e Inferencia A travs de ANFIS
La idea bsica detrs de estas tcnicas de aprendizaje neuro-adaptacin es muy
simple.
Estas tcnicas proporcionan un mtodo para el procedimiento de modelado difusa
para aprender
informacin sobre un conjunto de datos, con el fin de calcular la funcin de
pertenencia
parmetros que mejor permiten que el sistema de inferencia difusa asociada al
seguimiento de la
dado de datos de entrada / salida. Este mtodo de aprendizaje funciona de manera
similar a la de

Redes neuronales. La funcin de la caja de herramientas Fuzzy lgica que lleva a


cabo esta
ajuste de los parmetros de funcin de pertenencia se llama
ANFIS
.
ANFIS
puede ser
se accede desde la lnea de comandos, oa travs de la interfaz grfica de usuario
ANFIS Editor.
Dado que la funcionalidad de la funcin de lnea de comandos
ANFIS
y la ANFIS
Editor de interfaz grfica de usuario es similar, se utilizan como sinnimos en la
presente
discusin, hasta que los distinguimos a travs de la descripcin de la interfaz
grfica de usuario.
Qu es ANFIS?
El acrnimo ANFIS deriva su nombre de adaptacin inferencia neuro-fuzzy
sistema. El uso de un conjunto de datos de entrada / salida dada, la funcin de
caja de herramientas
ANFIS
construye un sistema de inferencia borrosa (FIS) cuya funcin de pertenencia
parmetros estn sintonizados (ajustado) usando un algoritmo de
retropropagacin
solo, o en combinacin con una de mnimos cuadrados tipo de mtodo. Esto
permite que su
sistemas difusos para aprender de los datos que estn modelando.
Estructura FIS y ajuste de parmetros
Una estructura de tipo red similar a la de una red neural, que mapea
entradas a travs de funciones de pertenencia de entrada y parmetros asociados,
y
luego a travs de funciones de pertenencia de salida y los parmetros asociados a
salidas, pueden ser utilizados para interpretar el mapa de entrada / salida.
Los parmetros asociados con las funciones de pertenencia cambiarn
a travs del proceso de aprendizaje. El clculo de estos parmetros (o su
ajuste) es facilitado por un vector gradiente, lo que proporciona una medida de
qu tan bien el sistema de inferencia difusa es el modelado de los datos de
entrada / salida para una
determinado conjunto de parmetros. Una vez que se obtiene el vector gradiente,
cualquiera de varios

rutinas de optimizacin podran aplicarse con el fin de ajustar los parmetros de


manera que
para reducir alguna medida de error (por lo general definido por la suma del
cuadrado
diferencia entre los resultados efectivos y deseados).
ANFIS
Utiliza ya sea de vuelta
reproducciones o de una combinacin de por lo menos la estimacin cuadrados y
retropropagacin
para la estimacin de parmetros de funcin de pertenencia.
pgina 108

2
Tutorial
2-94
La familiaridad engendra Validacin: Sepa sus datos
El enfoque utilizado por el modelado
ANFIS
es similar a muchos de identificacin del sistema
tcnicas. En primer lugar, plantean la hiptesis de una estructura modelo
parametrizado (relativa
entradas a las funciones de pertenencia de las normas a las salidas de las
funciones de pertenencia,
y as). A continuacin, recoja los datos de entrada / salida en una forma que
pueda utilizar
ANFIS
para entrenamiento. A continuacin, puede utilizar
ANFIS
para entrenar el modelo FIS para emular
los datos de entrenamiento que le sean presentadas por la modificacin de la
funcin de pertenencia
parmetros de acuerdo con un criterio de error elegida.
En general, este tipo de modelado funciona bien si los datos de entrenamiento
presentados a
ANFIS
para la formacin (de estimacin) parmetros de la funcin de pertenencia es
totalmente
representante de las caractersticas de los datos que el FIS se destina a formacin
modelo. Esto no es siempre el caso, sin embargo. En algunos casos, se recogen
los datos
usando mediciones de ruido, y los datos de entrenamiento no pueden ser
representativos de

todas las caractersticas de los datos que se presentarn en el modelo. Aqu es


donde
La validacin del modelo entra en juego.
Validacin del Modelo utilizando el anlisis de conjuntos de datos y Testing
La validacin del modelo es el proceso por el cual la entrada de vectores de
entrada / salida
conjuntos de datos en la que no se entren el FIS, se presentan a la FIS entrenado
modelo, para ver qu tan bien el modelo FIS predice el conjunto de datos
correspondiente
valores de salida. Esto se logra con el Editor GUI ANFIS usando el
as llamado conjunto de datos de prueba , y su uso se describe en una subseccin
que sigue.
Tambin se puede utilizar otro tipo de conjunto de datos para la validacin del
modelo de
ANFIS
. Esta
otro tipo de conjunto de datos de validacin se refiere como los datos del
conjunto de cheques y esto
conjunto se utiliza para controlar el potencial para el modelo sobreajuste de los
datos. Cuando
la verificacin de datos se presenta a
ANFIS
as como datos de entrenamiento, el modelo es FIS
selecciona para que tenga parmetros asociados con el modelo de datos mnimos
de control
error.
Un problema con la validacin de modelos para los modelos construidos usando
adaptativo
tcnicas es la seleccin de un conjunto de datos que es a la vez representativa de
los datos del
modelo de formacin est destinado a emular, sin embargo, lo suficientemente
distinta de la formacin
conjunto de datos a fin de no hacer que el proceso de validacin trivial. Si usted
ha recogido
una gran cantidad de datos, es de esperar estos datos contiene todo lo necesario
caractersticas representativas, por lo que el proceso de seleccin de un conjunto
de datos para el control o
propsitos de prueba se hace ms fcil. Sin embargo, si va a ser la presentacin
ruidosa
mediciones a su modelo, es posible que el conjunto de datos de entrenamiento no
lo hace

incluyen todas las funciones representativas que desea modelar.


pgina 109

ANFIS y la GUI Editor ANFIS


2-95
La idea bsica detrs de la utilizacin de un conjunto de datos de la
comprobacin de validacin del modelo es que
despus de un cierto punto del entrenamiento, el modelo comienza a sobreajuste
la formacin
conjunto de datos. En principio, el error de modelo para el conjunto de datos de
cheques tiende a
disminuir a medida que la formacin se realiza hasta el punto de que comience el
sobreajuste, y
entonces el error del modelo para los datos de comprobacin aumenta
repentinamente. En el primero
ejemplo en la siguiente seccin, dos conjuntos de datos similares se utilizan para
el control de
y la formacin, pero el conjunto de datos de comprobacin est daado por una
pequea cantidad de ruido.
Este ejemplo ilustra el uso de la ANFIS Editor GUI con la comprobacin
de datos para reducir el efecto de modelo overfitting. En el segundo ejemplo, una
formacin
conjunto de datos que se presenta a
ANFIS
es suficientemente diferente de la aplicada
Set de control de datos. Mediante el examen de la secuencia de comprobacin de
errores durante el entrenamiento
perodo, es evidente que el conjunto de datos de cheques no es bueno para la
validacin del modelo
propsitos. Este ejemplo ilustra el uso de la ANFIS Editor GUI para comparar
conjuntos de datos.
Algunas restricciones de ANFIS
ANFIS
es mucho ms complejo que los sistemas de inferencia difusos discutido hasta
ahora,
y no est disponible para todas las opciones del sistema de inferencia
difusos. Especficamente,
ANFIS
slo es compatible con los sistemas de tipo Sugeno, y estos deben ser:
sistemas de tipo Sugeno de orden cero o de primer
salida nica, obtenida usando defuzzification medio ponderado (lineal o
salida constante funciones de pertenencia)

Por el peso de unidad para cada regla


Se produce un error si su estructura FIS no cumple con estas limitaciones.
Adems,
ANFIS
no puede aceptar todas las opciones de personalizacin que bsica difusa
inferencia permite. Es decir, usted no puede hacer sus propias funciones de
pertenencia
y funciones de defuzzificacin; que tendr que utilizar los previstos.
La interfaz grfica de usuario ANFIS Editor
Para empezar a utilizar la GUI Editor ANFIS, Tipo
anfisedit
La siguiente interfaz grfica de usuario aparecer en su pantalla.
pgina 110

2
Tutorial
2-96
A partir de esta interfaz grfica de usuario que pueda
Datos de carga (de entrenamiento, prueba y verificacin) mediante la seleccin
de radio apropiado
botones de la Cargar datos de parte de la interfaz grfica de usuario y luego
seleccionar los datos de carga ...
Los datos cargados se traza en la zona de dibujo.
Generar un modelo FIS inicial o cargar un modelo FIS inicial usando las
opciones
en el Generar FIS parte de la interfaz grfica de usuario
Ver la estructura del modelo FIS una vez que una FIS inicial ha sido generada o
cargado mediante la seleccin de la Estructura botn
Los datos de prueba contra
el modelo FIS. los
figura aparece en el
zona de dibujo.
datos de prueba aparece en la
parcela en azul como
datos de entrenamiento aparece en
la trama en azul como
Comprobacin de datos aparece en
la trama en azul como
FIS de salida aparece en la
parcela en rojo como
..
oo

++
**
Cargar o guardar un difuso
sistema de Sugeno, o abierto
nuevo sistema de Sugeno.
Deshacer
Abrir o editar un FIS con cualquier
de las otras interfaces grficas de usuario.
Estado del nmero de entradas, salidas,
funciones de pertenencia de entrada y de salida
funciones de pertenencia
Cargar ya sea la formacin,
prueba o comprobacin
datos desde el disco o
espacio de trabajo, o la carga
datos de demostracin. Datos
aparece en la trama
regin.
Borrar datos
descarga el conjunto de datos
seleccionada en
Tipo:
y borra la zona de dibujo.
Cargar FIS o generar FIS
a partir de los datos cargados utilizando
su nmero elegido de FMs
y reglas o difusa.
Despus de generar
o cargar una FIS, este
botn le permite
abrir una grfica
representacin de su
de entrada y salida
estructura.
Capacitar a FIS despus de establecer la optimizacin
mtodo, la tolerancia de error, y el nmero de
de pocas. Esto genera tramas de error
en la regin de trama.
zona de dibujo
Pgina 111

ANFIS y la GUI Editor ANFIS

2-97
Elegir el mtodo de optimizacin de parmetros del modelo FIS: propagacin
hacia atrs o una
mezcla de propagacin hacia atrs y mnimos cuadrados (mtodo hbrido)
Elegir el nmero de pocas de formacin y la tolerancia de error de
entrenamiento
Capacitar al modelo FIS mediante la seleccin del tren botn Ahora
Esta formacin se ajusta a los parmetros de la funcin de pertenencia y grafica
la
parcela de formacin (y / o verificacin de datos) de error (s) en la regin de
trama.
Ver la salida del modelo FIS frente a la formacin, comprobacin o datos de
prueba
salida seleccionando la prueba Ahora botn
Esta funcin representa grficamente los datos de ensayo frente a la salida de
esqu alpino en la regin trama.
Tambin puede utilizar la barra de mens ANFIS Editor de interfaz grfica de
usuario para cargar un entrenamiento de esqu alpino
inicializacin, guardar su FIS entrenado, abrir un nuevo sistema de Sugeno, o
abra cualquier
de las otras interfaces grficas de usuario para interpretar el modelo FIS
entrenado.
Formalidades de datos y el editor de interfaz grfica de usuario ANFIS:
Comprobacin y Formacin
Para iniciar la formacin de un FIS usando
ANFIS
o el ANFIS Editor GUI, primero
necesita tener un conjunto de datos de entrenamiento que contiene los pares de
datos de entrada / salida deseada
del sistema de destino a modelar. A veces tambin quieren tener la
conjunto de datos de prueba opcional que se puede comprobar la capacidad de
generalizacin de la
resultando sistema de inferencia borrosa, y / o un conjunto de datos que ayuda a
comprobar con
sobreajuste del modelo durante el entrenamiento. El uso de un conjunto de datos
de prueba y una
verificacin de los datos establecidos para la validacin del modelo se discute i n
"Validacin del Modelo Uso
Comprobacin y conjuntos de datos de pruebas "en la pgina 2-94 . Como hemos
mencionado anteriormente,

sobreajuste se contabiliza mediante pruebas de la FIS capacitados en los datos de


entrenamiento
en contra de la comprobacin de los datos, y la eleccin de los parmetros de la
funcin de pertenencia
ser los asociados con el mnimo error de comprobacin si estos errores indican
modelo de sobreajuste. Usted tendr que examinar sus parcelas error de
entrenamiento bastante
estrechamente con el fin de determinar esto. Estas cuestiones se tratan ms
adelante en una
ejemplo. Por lo general, estos conjuntos de datos de entrenamiento y verificacin
se recogen basan en
Observaciones finales del sistema de destino y se almacenan en archivos
separados.
Nota sobre el formato de datos:
Cualquier conjunto de datos se carga en el ANFIS Editor GUI, (o
que se aplica a la funcin de lnea de comandos
ANFIS
) Debe ser una matriz con el
datos de entrada dispuestos como vectores en todos excepto la ltima
columna. Los datos de salida
debe estar en la ltima columna.
pgina 112

2
Tutorial
2-98
ANFIS Editor GUI Ejemplo 1: Comprobacin de datos Ayuda
Modelo de validacin
En esta seccin vamos a ver un ejemplo de que las cargas de entrenamiento
similar y comprobar
conjuntos de datos, slo el conjunto de datos de comprobacin est corrompida
por ruido.
Cargando datos
Para trabajar ambos de los siguientes ejemplos, se cargan los conjuntos de datos
de entrenamiento
(
fuzex1trnData
y
fuzex2trnData
) Y los conjuntos de datos de cheques
(
fuzex1chkData

y
fuzex2chkData
), En el Editor de ANFIS interfaz grfica de usuario de la
espacio de trabajo. Tambin puede sustituir sus propios conjuntos de datos.
Para cargar estos conjuntos de datos de los fuzzydemos de directorio en el
MATLAB
espacio de trabajo, el tipo de
cargar fuzex1trnData.dat
cargar fuzex2trnData.dat
cargar fuzex1chkData.dat
cargar fuzex2chkData.dat
desde la lnea de comandos.
Nota sobre la carga de datos:
Tambin puede que desee cargar el conjunto de datos de la
fuzzydemos
o cualquier otro directorio en el disco, utilizando la interfaz grfica de usuario
ANFIS Editor,
directamente.
Abra la interfaz grfica de usuario ANFIS Editor escribiendo
anfisedit
. Para cargar los datos de entrenamiento
conjunto, haga clic en Training, worksp. y luego cargar los datos ... .
La ventana pequea interfaz grfica de usuario que aparece le permite escribir en
un nombre de variable
el espacio de trabajo. Escribir
fuzex1trnData
, Como se muestra abajo.
pgina 113

ANFIS y la GUI Editor ANFIS


2-99
La formacin de datos aparece en la trama en el centro de la interfaz grfica de
usuario como un conjunto de crculos .
Observe el eje horizontal est marcado conjunto de datos de ndice . Este ndice
indica la
fila de la que se obtuvo que el valor de datos de entrada (ya sea la entrada o no
es un vector o un escalar). Luego haga clic en Verificar en el tipo de la columna
de la carga
Pgina 114

2
Tutorial

2-100
datos porcin de la interfaz grfica de usuario para cargar
fuzex1chkData
desde el espacio de trabajo. Estos datos
aparece en el grfico de interfaz grfica de usuario como puntos
positivos superpuestos sobre los datos de entrenamiento.
Este conjunto de datos se utiliza para entrenar a un sistema difuso mediante el
ajuste de los miembros
parmetros de la funcin que mejor modelo de estos datos. El siguiente paso
consiste en especificar una
inicial del sistema de inferencia borrosa para
ANFIS
entrenar.
Inicializacin y la generacin de su FIS
Usted puede inicializar los parmetros de la FIS a su propia preferencia, o si
no tienen ninguna preferencia por la forma en que desea las funciones iniciales de
miembros
ser parametrizado, puede dejar
ANFIS
hacer esto para usted.
Generacin automtica Estructura FIS con ANFIS
Para inicializar la FIS usando
Anfis:
1
Elija la rejilla de separacin, el mtodo de particin predeterminada. (Los dos
particiones
mtodos de particin, la rejilla y la agrupacin de sustraccin, se describen ms
adelante en
+++ Datos Comprobacin
Formacin de datos ooo
pgina 115

ANFIS y la GUI Editor ANFIS


2-101
"Fuzzy C-means" en la pgina 2-120, y en "sustractiva La agrupacin"
en la pgina 2-123 .
2
Haga clic en el Generar FIS botn. Esto lleva a un men desde el que se
puede elegir el nmero de funciones de pertenencia, los BM , y el tipo de entrada
y funciones de pertenencia de salida. Tenga en cuenta que slo hay dos opciones
para el

funcin de pertenencia de salida: constante y lineal . Esta limitacin de la


produccin
opciones de la funcin de pertenencia es debido
ANFIS
Slo opera en Sugeno de tipo
sistemas.
3
Rellene las entradas correspondientes como lo hemos hecho a continuacin, y
haga clic en OK.
Tambin puede aplicar este FIS generacin a partir de la lnea de comandos
utilizando el
mando
genfis1
(Para la subdivisin de cuadrcula) o
genfis2
(Por sustractiva
clustering). Un ejemplo de lenguaje de lnea de comandos que ilustra el uso de
genfis1
y
ANFIS
se proporciona ms adelante.
Especificacin de funciones propia suscripcin ANFIS
Aunque no esperamos que usted pueda hacer esto para este ejemplo, usted puede
elegir su
propias funciones de pertenencia preferidas con parmetros especficos para ser
utilizados por
ANFIS
como FIS inicial para la formacin.
pgina 116

2
Tutorial
2-102
Para definir su propia estructura FIS y parmetros:
1
Abrir el Editar funciones de pertenencia elemento de men en la vista de
men.
2
Agregue su funciones de pertenencia deseados (la opcin de suscripciones
personalizado se
estar deshabilitado para
ANFIS

). Las funciones de pertenencia de salida deben ser o bien todo


constante o todos lineal. Para llevar a cabo esto y el siguiente paso, consulte "La
Editor FIS "en la pgina 2-4 9 y" La membresa Funcin Editor "en la pgina
2-52 .
3
Seleccione la normativa Editar elemento de men en el Vista men. Utilice el
editor de reglas de
generar las reglas (ver "El editor de reglas" en la pgina 2-56) .
4
Seleccione la anuncios Editar FIS elemento de men en la vista de
men. Nombra tu
FIS, y guardarlo en cualquiera rea de trabajo o el disco.
5
Utilice la vista de men para volver a la ANFIS Editor GUI para entrenar el FIS.
Para cargar un FIS existente para ANFIS inicializacin, en el Generar FIS parte
de la interfaz grfica de usuario, haga clic en Cargar desde worksp. o cargar
desde el disco . Va a cargar su
FIS desde el disco si ha guardado un FIS anteriormente que le gustara
utilizar. De lo contrario ser la carga de su FIS desde el espacio de
trabajo. Cualquiera de
estos botones se puedan seleccionar alternativamente el Generar FIS botn
para cargar ... . Cargar el FIS
haciendo clic en este botn.
pgina 117

ANFIS y la GUI Editor ANFIS


2-103
Visualizacin de su estructura FIS
Despus de generar el FIS, se puede ver la estructura del modelo haciendo clic en
el
Estructura de botn en el centro de la parte derecha de la interfaz grfica de
usuario. Una nueva interfaz grfica de usuario
aparece, como sigue:
Las ramas en este grfico ganglionar estn codificados por colores para indicar si
o no
y , no , o , o , se utilizan en las reglas. Al hacer clic en los nodos indica
informacin sobre la estructura.
Puede ver las funciones de pertenencia o de las reglas ya sea mediante la apertura
de la
Funcin de miembros Editor o el editor de reglas de la Vista men.
Volver a otra abierta interfaces grficas de usuario
con el men Ventana.

Nodo que representa una normalizacin


factor de las reglas.
El cdigo de colores de las ramas
que caracteriza a las reglas.
- etiquetas de nodo para
ejemplo, ms a la izquierda
nodo es el
nodo de entrada
pgina 118

2
Tutorial
2-104
Formacin ANFIS
Los dos
ANFIS
opciones de mtodos de optimizacin de parmetros disponibles para FIS
formacin son hbridos (el valor por defecto, por mnimos cuadrados y
propagacin hacia atrs mezclados)
y backpropa (backpropagation). La tolerancia de error se utiliza para crear una
formacin criterio de parada, que se relaciona con el tamao error. La formacin
Parada despus del error en los datos de entrenamiento se mantiene dentro de esta
tolerancia. Esto es mejor dejar
se pone a 0 si no sabe cmo va su error de entrenamiento para comportarse.
Para iniciar la formacin:
Deje el mtodo de optimizacin en el hbrido .
Ajuste el nmero de pocas de formacin a 40, en el marco del pocas listado
en la interfaz grfica de usuario
(El valor por defecto es 3).
Seleccionar tren ahora .
El siguiente debera aparecer en su pantalla:
Observe cmo disminuye el error de comprobacin hasta un cierto punto del
entrenamiento
y luego aumenta. Este incremento representa el punto de modelo de sobreajuste.
ANFIS
elige los parmetros del modelo asociados con la comprobacin mnimo
***
error de entrenamiento
Comprobacin de errores ...
Pgina 119

ANFIS y la GUI Editor ANFIS

2-105
de error (justo antes de este punto de salto). Este es un ejemplo para los que la
comprobacin
opcin de datos de
ANFIS
es til.
Prueba de sus datos contra el FIS Formado
Para probar el esqu alpino en contra de las corrientes de datos, haga clic
en Comprobacin de los datos de la prueba
FIS parte de la interfaz grfica de usuario, y haga clic en Probar ahora . Ahora
cuando se prueba la comprobacin
los datos contra el FIS se ve bastante bien:
Nota sobre la carga de ms datos con ANFIS:
Si va a cargar datos en vez
ANFIS
despus de borrar los datos previamente cargados, debe asegurarse de que el
conjuntos de datos recin cargadas tienen el mismo nmero de entradas como el
anteriormente
cargados los hicieron. De lo contrario, tendr que iniciar un nuevo
anfisedit
sesin
desde la lnea de comandos.
Pgina 120

2
Tutorial
2-106
Nota sobre la opcin Comprobacin de datos y borrado de datos:
Si no desea
utilizar la opcin de verificacin de datos de
ANFIS
, No cargue los datos de comprobacin antes
capacitar a la FIS. Si decide entrenar a su FIS sin comprobacin de los datos, se
puede
descargar los datos de comprobacin en una de dos maneras. Un mtodo consiste
en hacer clic en el
Comprobacin de botn de opcin en el Cargar datos de parte de la interfaz
grfica de usuario y haga clic en
Borrar datos para descargar los datos de cheques. El otro mtodo que se puede
utilizar es
cerrar la interfaz grfica de usuario e ir a la lnea de comandos y vuelva a escribir
anfisedit

. En este caso
tendr que volver a cargar los datos de entrenamiento. Despus de borrar los
datos, necesitar
para regenerar el FIS. Una vez generado el FIS puede utilizar su primera
experiencia de formacin para decidir sobre el nmero de pocas de formacin
que desea para
la segunda ronda de entrenamiento.
ANFIS Editor GUI Ejemplo 2: Comprobacin de datos no
Validar Modelo
En este ejemplo, examinamos lo que sucede cuando el entrenamiento y
verificacin
los conjuntos de datos son suficientemente diferentes. Vemos como el Editor de
interfaz grfica de usuario puede ser ANFIS
utilizado para aprender algo acerca de los conjuntos de datos y en qu se
diferencian.
1
Limpiar tanto los datos de entrenamiento y verificacin.
2
Puede pulsar el Claro Solar botn a la derecha, aunque usted no tenga que
hacerlo.
3
Carga
fuzex2trnData
y
fuzex2chkData
(Respectivamente, los datos de entrenamiento
y la comprobacin de los datos) desde el espacio de trabajo de MATLAB tal
como lo hizo en el
ejemplo anterior.
pgina 121

ANFIS y la GUI Editor ANFIS


2-107
Usted debe conseguir algo que se parece a esto:
+++ Datos Comprobacin
Formacin de datos ooo
pgina 122

2
Tutorial
2-108

Capacitar al FIS para este sistema tal y como lo hizo en el ejemplo anterior,
excepto
ahora elegir
60
pocas antes del entrenamiento. Usted debe obtener lo siguiente:
Ntese la comprobacin de errores es bastante grande. Parece que el control de la
mnimo
error se produce dentro de la primera poca. Recordemos que el uso de la opcin
de datos de cheques
con
ANFIS
ajusta automticamente los parmetros de la FIS para ser asociados con los
el mnimo error de cheques. Es evidente que este conjunto de funciones de
pertenencia hara
no ser la mejor opcin para el modelado de los datos de entrenamiento.
Lo que est mal aqu? Este ejemplo ilustra el problema discutido anteriormente
en el que el conjunto de datos presentado a la comprobacin
ANFIS
para el entrenamiento era suficientemente
diferente del conjunto de datos de entrenamiento. Como resultado, el FIS
entrenado no captur
Las caractersticas de este conjunto de datos muy bien. Esto ilustra la importancia
de
conocer las caractersticas de su conjunto de datos lo suficientemente bien al
seleccionar su
entrenamiento y verificacin de datos. Cuando este no es el caso, se puede
analizar la
comprobacin de tramas de error para ver si o no los datos de control realizadas
lo suficientemente bien con el modelo entrenado. En este ejemplo, el error de
comprobacin es
suficientemente grande para indicar que, o bien ms datos necesita ser
seleccionado para
entrenamiento, o es posible que desee modificar sus opciones de la funcin de
pertenencia (tanto
el nmero de funciones de pertenencia y el tipo). De lo contrario el sistema puede
***
error de entrenamiento
Comprobacin de errores ...
pgina 123

ANFIS y la GUI Editor ANFIS


2-109

nueva formacin sin la comprobacin de los datos, si cree que las capturas de
datos de entrenamiento
suficientemente las caractersticas que estn tratando de representar.
Para completar este ejemplo, vamos a probar el modelo FIS entrenado en contra
de la comprobacin
datos. Para ello, haga clic en Comprobacin de datos en la prueba FIS parte de
la interfaz grfica de usuario, y
haga clic en Probar ahora . El siguiente grfico en la interfaz grfica indica que
hay una gran
discrepancia entre la salida de datos de control y la salida de la FIS.
Anfis desde la lnea de comandos
Como se puede ver, la generacin de una FIS usando el editor ANFIS GUI es
bastante simple.
Sin embargo, como se vio en el ltimo ejemplo, es necesario tener cuidado de no
la aplicacin de la funcin de validacin de los datos de comprobacin de
ANFIS
. Debe comprobar
que el error de comprobacin de datos hace lo que se supone que es. De lo
contrario lo que necesita
reciclar el FIS.
En esta seccin se describe cmo llevar a cabo las funciones de lnea de
comandos
ANFIS
en un ejemplo de prediccin de series de tiempo caticas.
pgina 124

2
Tutorial
2-110
Usando ANFIS para la Prediccin de series temporales Chaotic
la demo
mgtsdemo
usos
ANFIS
para predecir una serie de tiempo que se genera por el
despus de Mackey-Glass (MG) de retardo ecuacin diferencial:
Esta serie de tiempo es catico, y por lo tanto no hay un perodo claramente
definido. Las series
no va a converger o divergir, y la trayectoria es muy sensible a sus iniciales
condiciones. Este es un problema de referencia en la red neural y difusa
comunidades de investigacin de modelado.

Para obtener el valor de series temporales en puntos enteros, se aplic el cuarto


orden
mtodo de Runge-Kutta para encontrar la solucin numrica de la ecuacin
anterior MG;
el resultado se guarda en el archivo
mgdata.dat
. Aqu asumimos x (0) = 1.2, = 17,
y x (t) = 0 para t <0. Para representar grficamente la serie MG de tiempo, el tipo
de
mgdata.dat carga
t = mgdata (:, 1); x = mgdata (:, 2); plot (t, x);
En la prediccin de series de tiempo que queremos usar valores conocidos de la
serie temporal hasta
el punto en el tiempo, por ejemplo, t , para predecir el valor en algn momento en
el futuro, por ejemplo,
t + P . El mtodo estndar para este tipo de prediccin es crear una cartografa
x

t
0,2 x t
(
)
1x
10
t
(
)
+
---------------------------------- 0,1 x t
=
pgina 125

ANFIS y la GUI Editor ANFIS


2-111
de puntos de datos de la muestra D, la muestra cada unidades en el
tiempo, ( x (t- (D -1) , ..., x (t - ),
x (t)), a un valor futuro predicho x (t + P). Despus de los ajustes convencionales
para

la prediccin de la serie de tiempo MG, fijamos D = 4 y = P = 6. Para cada


t
, La entrada
datos de entrenamiento para
ANFIS
es un vector de cuatro dimensiones de la siguiente forma:
w (t) = [x (t-18) x (t-12) x (t-6) x (t)]
Los datos de entrenamiento de salida corresponde a la prediccin de la
trayectoria:
s (t) = x (t + 6)
Para cada t , que van en valores a partir de 118 a la 1117, la entrada / salida de
datos de entrenamiento
ser una estructura cuya primera componente es la entrada de cuatro
dimensiones w , y
cuyo segundo componente es la salida
s
. Habr 1000 de datos de entrada / salida
valores. Utilizamos los primeros 500 valores de datos para el
ANFIS
formacin (stos se convierten en
el conjunto de datos de entrenamiento), mientras que los otros se utilizan como la
verificacin de los datos para la validacin
el modelo borroso identificado. Esto resulta en dos estructuras de datos 500 de
punto:
trnData
y
chkData
.
Aqu est el cdigo que genera estos datos:
para t = 118: 1117,
De datos (T-117,:) = [x (t-18) x (t-12) x (t-6) x (t) x (t + 6)];
fin
trnData = datos (1: 500, :);
chkData = Datos (501: final, :);
Para iniciar el entrenamiento, necesitamos una estructura FIS que especifica la
estructura y
los parmetros iniciales de la FIS para el aprendizaje. Esta es la tarea de
genfis1
:
fismat = genfis1 (trnData);

Dado que no especificamos el nmero y tipos de funciones de pertenencia


utilizadas en
el FIS, se asumen los valores por defecto. Estos valores por defecto proporcionan
dos generalizada
funciones de pertenencia de campana en cada una de las cuatro entradas, ocho en
total. los
estructura FIS generado contiene 16 reglas difusas con 104 parmetros. En orden
para lograr una buena capacidad de generalizacin, es importante tener el nmero
de
puntos de datos de entrenamiento sean varias veces ms grande que ser los
parmetros de nmero
estimado. En este caso, la relacin entre los datos y parmetros es de
aproximadamente cinco
(500/104).
pgina 126

2
Tutorial
2-112
La funcin
genfis1
genera funciones iniciales de miembros que son igualmente
espaciados y cubrir todo el espacio de entrada. Puede representar el nmero de
miembros de entrada
funciones utilizando los siguientes comandos.
subtrama (2,2,1)
plotmf (fismat, "entrada", 1)
subtrama (2,2,2)
plotmf (fismat, "entrada", 2)
subtrama (2,2,3)
plotmf (fismat, "entrada", 3)
subtrama (2,2,4)
plotmf (fismat, "entrada", 4)
Estas funciones iniciales de miembros se muestran a continuacin
Pgina 1

Clculo
Visualizacin
Programacin
Caja de herramientas de la lgica difusa
Para uso con MATLAB

Gua de usuario

Versin 2
Pgina 2

Como contactar con The MathWorks:


508-647-7000
Telfono
508-647-7001
Fax
The MathWorks, Inc.
Correo
24 Primer Park Way
Natick, MA 01760-1500
http://www.mathworks.com
Web
ftp.mathworks.com
Servidor FTP annimo
comp.soft-sys.matlab
Grupo de noticias
support@mathworks.com
Soporte tcnico
suggest@mathworks.com
Sugerencias de mejora del producto
bugs@mathworks.com
Informes de errores
doc@mathworks.com
Informes de errores de documentacin
subscribe@mathworks.com
La suscripcin de registro de usuarios
service@mathworks.com
Estado de la orden, renovaciones de licencias, cdigos de acceso
info@mathworks.com
Ventas, precios, e informacin general
Gua del usuario de Lgica Difusa Caja de herramientas
COPYRIGHT 19951999porTheMathWorks,Inc.
El software descrito en este documento se suministra bajo un acuerdo de
licencia. El software puede ser utilizado
o copiado slo bajo los trminos del contrato de licencia. Ninguna parte de este
manual puede ser fotocopiada o reproduccin
producido en cualquier forma sin el consentimiento previo por escrito de The
MathWorks, Inc.
Del gobierno estadounidense: Si el licenciatario es la adquisicin de los
programas en nombre de cualquier unidad o agencia de los EE.UU.

Gobierno, se aplicar lo siguiente: (a) Para las unidades del Departamento de


Defensa: El Gobierno se
han slo los derechos especificados en la licencia bajo la cual el software
informtico comercial o comercial
se obtuvo documentacin de software, tal como se establece en el inciso (a) de
los Derechos de Comercial
Software de ordenador o Clusula documentacin del software comercial en
DFARS 227.7202-3, por lo tanto, la
se aplicarn los derechos establecidos en este documento; y (b) Para cualquier
otra unidad o agencia: AVISO: A pesar de cualquier
otro contrato de arrendamiento o contrato de licencia que pueden pertenecer a, o
acompaar a la entrega de, el software del ordenador
y la documentacin adjunta, los derechos del Gobierno con respecto a su uso,
reproduccin y divulgacin
Seguro son como se establece en la Clusula 52.227-19 (c) (2) de las FAR.
MATLAB, Simulink, Stateflow, Manilla Grficos, y Real-Time Workshop son
marcas comerciales y
Traduce al compilador son marcas registradas de The MathWorks, Inc.
Otros nombres de productos o marcas son marcas comerciales o marcas
comerciales registradas de sus respectivos propietarios.
Historia de la Imprenta: Enero de 1995
primera edicin,
04 1997
segunda edicin
01 1998
En tercer lugar printingRevised para MATLAB 5.2
de enero de de 1999
Las revisiones menores para Release 11 (slo en lnea)

TELFONO
FAX
u
CORREO
INTERNET
@
Pgina 3

Adelante
En los ltimos aos se ha producido un rpido crecimiento en el nmero y la
variedad
de las aplicaciones de la lgica difusa. Las aplicaciones van desde productos de
consumo

tales como cmaras, videocmaras, lavadoras, hornos de microondas y a


el control de procesos industriales, instrumentacin mdica, sistemas de soporte
de decisiones,
y la seleccin de la cartera.
Para entender las razones para el creciente uso de la lgica difusa es necesario,
En primer lugar, para aclarar qu se entiende por lgica difusa.
La lgica difusa tiene dos significados diferentes. En un sentido estricto, la lgica
difusa es una
sistema lgico, que es una extensin de la lgica de varios valores. Pero en un
amplio
-sentido que est en uso predominante hoy-Lgica Difusa (FL) es casi
sinnimo de la teora de conjuntos difusos, una teora que se refiere a las clases
de
los objetos con lmites poco definidos en el que la pertenencia es una cuestin de
grado.
En esta perspectiva, la lgica difusa en su sentido estricto es una rama de la
FL. Que es
es importante reconocer que, incluso en su sentido estricto, la agenda de fuzzy
lgica es muy diferente, tanto en el espritu y la esencia de las agendas de
tradicional mltiples valores sistemas lgicos.
En el Cuadro de lgica difusa, lgica difusa se debe interpretar como FL, es
decir,
lgica difusa en su sentido ms amplio. Las ideas bsicas subyacentes FL se
explican muy
con claridad y perspicacia en la introduccin. Lo que podra ser aadida es que el
concepto bsico subyacente FL es la de una variable lingstica, es decir, una
variable
cuyos valores son palabras en lugar de nmeros. En efecto, la mayor parte de FL
pueden
visto como una metodologa para calcular con palabras en lugar de nmeros.
Aunque las palabras son inherentemente menos preciso que los nmeros, su uso
est ms cerca de
la intuicin humana. Adems, la computacin con palabras explota la tolerancia
la falta de precisin y por lo tanto reduce el coste de la solucin.
Otro concepto bsico en FL, que desempea un papel central en la mayor parte
de su
aplicaciones, es la de un si-entonces gobernar, simplemente, regla difusa o
borrosa. A pesar de que
sistemas basados en reglas tienen una larga historia de uso en la IA, lo que falta
en tales
sistemas es un procedimiento para tramitar las consecuentes difusos y / o difusa

antepasados. En la lgica difusa, esta maquinaria es proporcionado por lo que se


llama el
clculo de reglas difusas. El clculo de reglas difusas sirve como una base para lo
que podra llamarse el Fuzzy Dependencia y Command Language (FDCL).
Aunque FDCL no se utiliza explcitamente en Caja de herramientas de la lgica
difusa, que es efectivamente
uno de sus principales componentes. A este respecto, lo que es importante
pgina 4

Adelante
reconocer es que en la mayora de las aplicaciones de la lgica difusa, una
solucin lgica difusa
es en realidad una traduccin de una solucin humana en FDCL.
Lo que hace que la caja de herramientas Lgica Difusa tan poderoso es el hecho
de que la mayora de
razonamiento humano y la formacin de conceptos est vinculada a la utilizacin
de reglas difusas. Por
proporcionar un marco sistemtico para hacer clculos con reglas difusas, el
Fuzzy
Caja de herramientas de la lgica amplifica enormemente el poder del
razonamiento humano. Promover
los resultados de amplificacin de la utilizacin de MATLAB y interfaces
grficas de usuario reas en las que The MathWorks cuenta con una experiencia sin precedentes.
Una tendencia que est creciendo en visibilidad se refiere al uso de la lgica
difusa en
combinacin con la Neuro y algoritmos genticos. Ms generalmente,
lgica difusa, Neurocomputacin y algoritmos genticos pueden ser vistos como
el
principales constituyentes de lo que podra llamarse Soft Computing. ni idea
informtica tradicional, duro, soft computing est dirigido a un alojamiento
con la imprecisin dominante del mundo real. El principio rector de la suave
computing es: aprovechar la tolerancia imprecisin, la incertidumbre, y parcial
la verdad para alcanzar la tratabilidad, robustez y bajo coste de la solucin. Al
venir
aos, soft computing es probable que desempee un papel cada vez ms
importante en el
concepcin y diseo de sistemas cuya MIQ (Machine IQ) es mucho mayor que
la de los sistemas diseados por mtodos convencionales.
Entre las diversas combinaciones de metodologas en soft computing, la que
tiene mayor visibilidad en este momento es el de la lgica difusa y
Neurocomputacin

dando lugar a los llamados sistemas neuro-difuso. Dentro de la lgica difusa,


estos sistemas juegan
un papel particularmente importante en la induccin de reglas a partir de
observaciones. Un
mtodo eficaz desarrollada por el Dr. Roger Jang para este propsito se llama
ANFIS
(Adaptive Neuro-Fuzzy sistema de inferencia). Este mtodo es un importante
componente de la Caja de herramientas de la lgica difusa.
La Caja de herramientas de la lgica difusa es muy impresionante en todos los
aspectos. Se hace borroso
lgica de una herramienta eficaz para la concepcin y diseo de sistemas
inteligentes. los
Caja de herramientas de la lgica difusa es fcil de dominar y cmodo de usar. Y
por ltimo, pero no
menos importante, proporciona una fcil lectura y hasta a la fecha de
introduccin a la
metodologa de la lgica difusa y sus aplicaciones de amplio alcance.
Lotfi A. Zadeh
Berkeley, CA
10 de enero de, de 1995
pgina 5

yo
Contenido
Antes de que empieces
Cul es la Lgica Difusa caja de herramientas? . . . . . . . . . . . . . . . . . . . . . . . . . 6
Cmo utilizar esta gua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Instalacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Convenciones tipogrficas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1
Introduccin
Qu es la Lgica Difusa? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2.
Por qu utilizar la lgica difusa? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Cundo no utilizar la lgica difusa. . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Qu puede hacer la caja de herramientas Lgica Difusa
hacer? . . . . . . . . . . . . . . . . . . . 1-6
Un ejemplo introductorio: Fuzzy contra no-Fuzzy . . . . . . . . 1-8.
El enfoque no-Fuzzy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9
El mtodo de aproximacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
Algunas observaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
2

Tutorial
El cuadro grande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Fundamentos de la Lgica Difusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Fuzzy Sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Las funciones de pertenencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Las operaciones lgicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Pgina 6

ii
Contenido
Reglas si-entonces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Sistemas de inferencia difusos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Cena para dos, Reprise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
El diagrama de inferencia borrosa. . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Personalizacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Sistemas de construccin con la Caja de herramientas de la lgica
difusa . . . . . . . . . . 45
Cena para dos, desde la parte superior. . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Empezando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
El editor de la FIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
El Editor de miembro de funcin. . . . . . . . . . . . . . . . . . . . . . . . . 52
El editor de reglas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
El Visor de Reglas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
El Visor de superficie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
La importacin y exportacin de las herramientas GUI. . . . . . . . . . . . . . . 62
Personalizacin del sistema Fuzzy. . . . . . . . . . . . . . . . . . . . . . . . . 63
Trabajando desde la lnea de comandos . . . . . . . . . . . . . . . . . . . . . . . 65
Funciones de la pantalla del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
La construccin de un sistema desde cero. . . . . . . . . . . . . . . . . . . . . . . . . . 70
Evaluacin FIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
La estructura de la FIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Trabajando con Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Un ejemplo: control de nivel de agua. . . . . . . . . . . . . . . . . . . . . . . . 78
La construccin de sus propios modelos de Simulink
Fuzzy. . . . . . . . . . . . . . . . 83
Inferencia Difusa Sugeno-Type . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Un ejemplo: dos lneas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Conclusin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
ANFIS y el editor de interfaz grfica de usuario
ANFIS . . . . . . . . . . . . . . . . . . . . . . . . . 92
Un escenario de modelado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Modelo de Aprendizaje e Inferencia A travs de ANFIS. . . . . . . . . . . . . 93

La familiaridad engendra Validacin: Sepa sus datos. . . . . . . . . . . . . 94


Algunas restricciones de ANFIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
El editor de interfaz grfica de usuario
ANFIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Ejemplo GUI Editor ANFIS 1:
pgina 7

iii
Comprobacin de datos ayuda a la validacin del
modelo. . . . . . . . . . . . . . . . . . . 98
ANFIS Editor GUI Ejemplo 2:
Comprobacin de datos no valida Modelo. . . . . . . . . . . . . . . . . . 106
Anfis desde la lnea de comandos. . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Ms sobre ANFIS y el editor de interfaz grfica de usuario
ANFIS. . . . . . . . . . . . . . . . . 114
Fuzzy Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Fuzzy C-means clustering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
La agrupacin de sustraccin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Autnomo C-Fuzzy Cdigo Motor de inferencia . . . . . . . . . . . . 130
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
3
Referencia
Herramientas GUI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Las funciones de pertenencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Estructura de Gestin de Datos de FIS. . . . . . . . . . . . . . . . . . . . . . . . 3-3
Tcnicas avanzadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Los bloques de Simulink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Demos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
pgina 8

iv
Contenido
pgina 9

Antes de que empieces


Cul es la Lgica Difusa caja de herramientas? . . . . . . . . . . . . . 2
Cmo utilizar esta gua. . . . . . . . . . . . . . . . . 3
Instalacin. . . . . . . . . . . . . . . . . . . . . . 3
Convenciones tipogrficas
...............4

pgina 10

Antes de que empieces


6
En esta seccin se describe cmo utilizar la Caja de herramientas de la lgica
difusa. En l se explica cmo
utilizar esta gua y que apunta a los libros adicionales para la instalacin caja de
herramientas
informacin.
Cul es la Lgica Difusa caja de herramientas?
La Caja de herramientas de la lgica difusa es una coleccin de funciones
incorporadas en el MATLAB

entorno informtico numrico. Proporciona herramientas para crear y editar


sistemas de inferencia difusos en el marco de MATLAB, o si usted prefiere
pueden integrar sus sistemas difusos en simulaciones con Simulink

, o tu puedes
incluso construir programas independientes C que hacen escala en los sistemas
difusos que construir con
MATLAB. Esta caja de herramientas se basa en gran medida de las herramientas
de interfaz grfica de usuario (GUI) para
ayudarle a lograr sus trabajos, aunque se puede trabajar por completo de la
lnea de comandos, si lo prefiere.
La caja de herramientas ofrece tres categoras de herramientas:
Funciones de lnea de comandos
grficas, herramientas interactivas
bloques de Simulink y ejemplos
La primera categora de herramientas se compone de funciones que se pueden
llamar desde el
lnea de comandos o desde sus propias aplicaciones. Muchas de estas funciones
son
MATLAB M-archivos, serie de declaraciones Matlab que implementara
especializada
algoritmos de lgica difusa. Puede ver el cdigo de MATLAB para estas
funciones
mediante la instruccin
tipo function_name
Puede cambiar la forma de cualquier funcin de caja de herramientas funciona
mediante la copia y el cambio de nombre
el archivo-M, a continuacin, modificar su copia. Tambin puede extender la caja
de herramientas aadiendo

sus propios archivos .m.


En segundo lugar, la caja de herramientas proporciona una serie de herramientas
interactivas que le permiten acceder
muchas de las funciones a travs de una interfaz grfica de usuario. En conjunto,
las herramientas de interfaz grfica basada proporcionan
un entorno para el diseo del sistema de inferencia borrosa, anlisis y
implementacin.
La tercera categora de herramientas es un conjunto de bloques para su uso con el
Simulink
software de simulacin. Estos estn diseados especficamente para la lgica
difusa de alta velocidad
inferencia en el entorno Simulink.
pgina 11

7
Cmo usar esta gua
Si usted es nuevo en la lgica difusa, comenzar con el Captulo 1,
"Introduccin". Esta
captulo presenta la motivacin detrs de la lgica difusa y se introduce
suavemente
en el tutorial.
Si usted es un usuario experimentado lgica difusa, es posible que desee
iniciar en el
a partir del captulo 2, "Tutorial", para asegurarse de que est cmodo con el
terminologa de la lgica difusa en la Caja de herramientas de la lgica difusa. Si
lo que desea es una
visin general de cada herramienta grfica y los ejemplos de tareas del sistema
fuzzy especficos,
gire directamente a la seccin del captulo 2 titulado, "Sistemas de construccin
con el
Caja de herramientas de la lgica difusa. "Esta seccin no incluye informacin
sobre la
aplicacin de modelado de datos de adaptacin cubierto por la funcin de caja de
herramientas
ANFIS
. los
funcionalidad bsica de esta herramienta se puede encontrar en la seccin en el
Captulo 2 titulado,
"Anfis y el editor de interfaz grfica de usuario ANFIS."
Si lo que desea es comenzar tan pronto como sea posible y experimento,
puede abrir una
ejemplo de sistema de inmediato por tipificacin

volquete difusa
Esto nos lleva a el editor sistema de inferencia difusa (FIS) para una decisin de
ejemplo
haciendo que el problema tiene que ver con la forma de propina en un
restaurante.
Todos los usuarios deben utilizar la caja de herramientas Captulo 3, "referencia"
para obtener informacin sobre especfica
herramientas o funciones. Descripciones de referencia incluyen una sinopsis de la
funcin de
sintaxis, as como una explicacin completa de opciones y operacin. Muchos
descripciones de referencia tambin se incluyen ejemplos tiles, una descripcin
de la
El algoritmo de la funcin, y las referencias a material de lectura adicional. por
Herramientas basadas en GUI, las descripciones incluyen opciones para invocar
la herramienta.
Instalacin
Para instalar esta caja de herramientas en una estacin de trabajo o una gran
mquina, consulte la instalacin
Gua para UNIX. Para instalar la caja de herramientas en un PC o Macintosh,
consulte la
Gua de instalacin para PC y Macintosh.
Para determinar si la Caja de herramientas de la lgica difusa ya est instalado en
su sistema,
comprobar si hay un subdirectorio llamado
borroso
dentro del directorio principal o caja de herramientas
carpeta.
pgina 12

Antes de que empieces


8
Convenciones tipogrficas
Indicar
Esta gua se utilizan
Ejemplo
ejemplo de cdigo
monoespaciado
(Utilizar
Cdigo
etiqueta.)
Para asignar el valor a 5 A,
entrar

A=5
Funcin
nombres
monoespaciado
(Utilizar
Cdigo
etiqueta.)
los
cos
la funcin encuentra
coseno de cada matriz
elemento.
Funcin
sintaxis
monoespaciado
para el texto
que debe aparecer como
mostrado. (Etiqueta Aadido.)
cursiva Monoespacio
para
componentes que se pueden
reemplazar con ninguna variable.
(Etiqueta Aadido-ital.)
los
magia
el uso de funciones
la sintaxis
METRO
=
magia
(
norte
)
Llaves
Negrita con una inicial
letra mayscula
(Etiqueta Uso de mens-bodyText.)
Pulse la tecla de retorno.
Matemtico
expresiones
Las variables en cursiva.

Funciones, operadores y
constantes en la norma
tipo. (Utilizar
EquationVariables etiqueta.)
Este vector representa la
polinomio
p=x
2
+2x+3
MATLAB
salida
monoespaciado
(Utilizar
Cdigo
etiqueta.)
MATLAB responde con
A=
5
pgina 13

9
Los nombres de men,
elementos de men,
y controles
Negrita con una inicial
letra mayscula
(Etiqueta Uso de mens-bodyText.)
Elija el men Archivo.
Los nuevos trminos
cursiva NCS
(Etiqueta de texto-ital uso del cuerpo.)
Una matriz es un ordenado
coleccin de informacin.
Indicar
Esta gua se utilizan
Ejemplo
pgina 14

Antes de que empieces


10
pgina 15

1
Introduccin
Qu es la Lgica Difusa? . . . . . . . . . . . . . . . . 1-2
Por qu utilizar la lgica difusa?
. . . . . . . . . . . . . . . . 1-5
Cundo no utilizar la lgica difusa
. . . . . . . . . . . . . 1-6
Qu puede hacer la caja de herramientas Lgica Difusa hacer?
. . . . . . . . . 1-6
Un ejemplo introductorio: Fuzzy contra no-Fuzzy . . . . 1-8
El enfoque no-Fuzzy. . . . . . . . . . . . . . . 1-9
El mtodo de aproximacin. . . . . . . . . . . . . . . . . 1-13
Algunas observaciones. . . . . . . . . . . . . . . . . . 1-14
pgina 16

1
Introduccin
1-2
Qu es la Lgica Difusa?
La lgica difusa es todo acerca de la importancia relativa de la precisin: Qu
tan importante es
que sea lo correcto cuando una respuesta spera va a hacer? Todos los libros de
lgica difusa
comenzar con unas pocas buenas citas sobre este mismo tema, y esto no es una
excepcin. aqu
es lo que algunas personas inteligentes han dicho en el pasado:
La precisin no es verdad.
-Henri Matisse
A veces, las unidades ms mensurables fuera el ms importante.
-Ren Dubos
La vaguedad no es ms que ser eliminado en el mundo de la lgica de friccin
en
mecnica.
-Charles Sanders Peirce
Creo que nada es absolutamente verdadera, y por lo tanto soy contrario a todas
las
declaracin de la verdad positiva y todos los hombres que lo hace.
-HL Mencken
La medida en que las leyes de la matemtica se refieren a la realidad, no son
ciertas. Y entonces
la medida en que son ciertas, no se refieren a la realidad.
-Albert Einstein

A medida que aumenta la complejidad, las declaraciones precisas pierden


significado y enunciados significativos
perder precisin.
-Lotfi Zadeh
Algunas perlas de sabidura popular tambin se hacen eco de estos pensamientos:
No perder de vista el bosque por los rboles.
No sea penique sabio y libra tonto.
La Caja de herramientas de la lgica difusa para su uso con MATLAB es una
herramienta para resolver problemas
con la lgica difusa. La lgica difusa es un rea de investigacin fascinante, ya
que hace una
buen trabajo de la negociacin entre la importancia y precisin, algo que
los seres humanos han estado manejando durante mucho tiempo.
La lgica difusa a veces parece extico o de intimidar a los que no conocen
, pero una vez que se familiaricen con ella, parece casi sorprendente que ningn
se intentara antes. En este sentido, la lgica difusa es tanto antiguos como
nuevos, ya que,
pgina 17

Qu es la Lgica Difusa?
1-3
aunque la ciencia moderna y metdica de la lgica difusa es todava joven, la
conceptos de la lgica difusa llegan hasta los huesos.
La lgica difusa es una manera conveniente para asignar un espacio de entrada a
un espacio de salida. Esta
es el punto de partida para todo lo dems, y el gran nfasis aqu est en el
palabra "prctico".
Qu quiero decir mediante la asignacin de espacio de entrada al espacio de
salida? Aqu estn algunos
ejemplos: Usted me dicen lo bien que su servicio fue en un restaurante, y me
dirn
lo que la punta debe ser. Usted me dice lo caliente que desea que el agua, y voy a
ajustar la vlvula del grifo para el ajuste de la derecha. Usted me dice qu
distancia del
tema de su fotografa es, y voy a enfocar la lente para usted. Usted me dice cmo
rpidamente el coche va y lo difcil que el motor est funcionando, y voy a
cambiar las marchas
para ti.
Una masa de 1500 kg
se acerca
la cabeza en
45,3 m / seg.

MIRA
FUERA!!
Precisin
Significado
La precisin y la importancia en el mundo real
pgina 18

1
Introduccin
1-4
Un ejemplo grfico de un mapa de entrada-salida se muestra a continuacin.
Todo esto es slo una cuestin de entradas de mapeo a las salidas
apropiadas. Entre los
la entrada y la salida vamos a poner un cuadro negro que hace el trabajo. Lo que
podra ir en
el cuadro de negro? Cualquier nmero de cosas: los sistemas difusos, sistemas
lineales, experto
sistemas, redes neuronales, ecuaciones diferenciales, interpolados
tablas de bsqueda multi-dimensionales, o incluso un consejero espiritual, slo
para nombrar unos pocos
de las posibles opciones. Es evidente que la lista podra seguir y seguir.
De las docenas de maneras de hacer el trabajo de recuadro negro, resulta que es
difusa
a menudo la mejor manera. Por qu se debe? Como Lotfi Zadeh, considerado
para ser el padre de la lgica difusa, coment una vez: "En casi todos los casos se
puede
construir el mismo producto sin la lgica difusa, pero difusa es ms rpido y ms
barato ".
espacio de entrada
(todo el servicio posible
las calificaciones de calidad)
Espacio de salida
(todos los consejos posibles)
la punta "derecho"
por esta noche
servicio de esta noche
calidad
Un mapa de entrada-salida para el problema de inflexin:
"Teniendo en cuenta la calidad del servicio, cunto debo inclinar?"
Negro
Caja

pgina 19

Qu es la Lgica Difusa?
1-5
Por qu utilizar la lgica difusa?
Aqu est una lista de observaciones generales acerca de la lgica difusa.
La lgica difusa es conceptualmente fcil de entender.
Los conceptos matemticos detrs de razonamiento difuso son muy simples. Qu
hace agradable difusa es la "naturalidad" de su enfoque y no su alcance
complejidad.
La lgica difusa es flexible.
Con cualquier sistema dado, es fcil para un masaje o capa ms funcionalidad en
encima de l sin empezar de nuevo desde cero.
La lgica difusa es tolerante con los datos imprecisos.
Todo es imprecisa si se mira de cerca lo suficiente, pero ms que eso, la mayor
parte
cosas son imprecisos, incluso en una inspeccin cuidadosa. Razonamiento difuso
construye este
entender en el proceso en lugar de virar sobre el extremo.
La lgica difusa puede modelar funciones no lineales de complejidad arbitraria.
Se puede crear un sistema difuso para combinar con cualquier conjunto de datos
de entrada-salida. Esta
proceso se hace particularmente fcil por medio de tcnicas adaptativas como
ANFIS
(Adaptive Neuro-Fuzzy Inferencia Systems), que estn disponibles en el Fuzzy
Lgica Caja de herramientas.
La lgica difusa se puede construir en la parte superior de la experiencia de los
expertos.
En contraste directo con las redes neuronales, que tienen datos de entrenamiento
y generan
impenetrables, modelos opacos, lgica difusa permite que se basan en la
experiencia de
personas que ya entienden su sistema.
La lgica difusa se puede mezclar con tcnicas de control convencionales.
Sistemas difusos no necesariamente reemplazar los mtodos de control
convencionales. En
muchos casos los sistemas difusos aumentarlos y simplificar su aplicacin.
La lgica difusa se basa en el lenguaje natural.
La base de la lgica difusa es la base para la comunicacin humana. Esta
observacin sustenta muchas de las otras declaraciones acerca de la lgica difusa.
La ltima afirmacin es quizs la ms importante y merece ms
discusin. El lenguaje natural, lo que es utilizado por la gente comn en un diario

base, ha sido formado por miles de aos de historia humana para ser conveniente
y eficiente. Las oraciones escritas en el lenguaje ordinario representan un triunfo
de
comunicacin eficiente. En general, estamos conscientes de esto porque ordinaria
el lenguaje es, por supuesto, algo que usamos todos los das. Desde la lgica
difusa se construye
pgina 20

1
Introduccin
1-6
encima de las estructuras de descripcin cualitativa se utilizan en el lenguaje
cotidiano, borroso
lgica es fcil de usar.
Cundo no utilizar la lgica difusa
La lgica difusa no es una panacea. Cundo no debe utilizar la lgica difusa? Lo
ms seguro
declaracin es la primera que se hace en esta introduccin: la lgica difusa es un
cmodo
manera de asignar un espacio de entrada a un espacio de salida. Si encuentra que
no es conveniente,
intentar otra cosa. Si una solucin ms simple ya existe, lo utilizan. La lgica
difusa es la
codificacin del sentido comn de usar el sentido comn cuando se aplicaron y
es probable que tomar la decisin correcta. Muchos controladores, por ejemplo,
hacer una
buen trabajo sin necesidad de utilizar la lgica difusa. Sin embargo, si se toma el
tiempo para convertirse en
familiarizados con la lgica difusa, ver que puede ser una herramienta muy
poderosa para tratar
rpida y eficiente con la imprecisin y la no linealidad.
Qu puede hacer la caja de herramientas Lgica Difusa hacer?
La Caja de herramientas de la lgica difusa permite hacer varias cosas, pero la
mayor parte
Lo importante que le permite hacer es crear y editar sistemas de inferencia
difusos. T
puede crear estos sistemas utilizando herramientas grficas o funciones de lnea
de comandos, o
se puede generar de forma automtica utilizando la agrupacin o de adaptacin
tcnicas de neuro-difuso.
Si usted tiene acceso a Simulink, puede probar fcilmente su sistema difuso en un
bloque

entorno de simulacin diagrama.


La caja de herramientas tambin le permite ejecutar sus propios programas
independientes C directamente,
sin la necesidad de Simulink. Esto es posible gracias a un stand-alone Fuzzy
Motor de inferencia que lee los sistemas difusos guardados en una sesin de
MATLAB.
pgina 21

Qu es la Lgica Difusa?
1-7
Puede personalizar el motor autnomo para construir inferencia borrosa en su
el propio cdigo. Todo el cdigo proporcionado es compatible con ANSI.
Debido a la naturaleza integrada del entorno de MATLAB, puede crear
sus propias herramientas para personalizar la caja de lgica difusa o arns con
otro
caja de herramientas, tales como el Sistema de Control, Red neuronal, o
Optimization Toolbox,
por mencionar slo algunas de las posibilidades.
Borroso
Inferencia
Sistema
Autnomo
motor Fuzzy
MATLAB
Borroso
Lgica
Caja de instrumento
User-escrito
M-archivos
otras cajas de herramientas
Simulink
pgina 22

1
Introduccin
1-8
Un ejemplo introductorio: Fuzzy contra no-Fuzzy
Un ejemplo especfico sera de gran ayuda en este punto. Para ilustrar el valor de
lgica difusa, mostraremos dos enfoques diferentes para el mismo problema:
lineal
y difusa. En primer lugar vamos a trabajar a travs de este problema lo
convencional

forma (no clara), escribiendo comandos de MATLAB que explicar lineal y


las relaciones lineal a tramos. A continuacin, vamos a echar un vistazo rpido en
el mismo sistema
utilizando la lgica difusa.
Considere el problema de inflexin: cul es la cantidad "correcta" inclinar a su
mesero? Aqu es una declaracin clara del problema.
El vuelco de un problema bsico
.
Dado un nmero entre 0 y 10 que
representa la calidad de servicio en un restaurante (donde 10 es excelente), lo
debera ser la punta?
Nota Cultural: Este problema se basa en inflexin ya que se practica
tpicamente
en los Estados Unidos. Un media punta para una comida en los EE.UU. es del
15%, aunque el
cantidad real puede variar dependiendo de la calidad del servicio prestado.
pgina 23

Un ejemplo introductorio: Fuzzy contra no-Fuzzy


1-9
El enfoque no Fuzzy
Vamos a empezar con el ms simple posible relacin. Supongamos que la punta
siempre
es igual a 15% de la factura total.
punta = 0,15
Esto en realidad no tiene en cuenta la calidad del servicio, por lo que necesitamos
aadir un nuevo trmino de la ecuacin. Dado que el servicio se califica en una
escala de 0 a 10, se
podra tener la punta ir lineal desde 5% si el servicio es malo y el 25% si el
servicio
es excelente. Ahora, nuestra relacin se ve as:
punta = 0.20 / 10 * Servicio de + 0,05
0
2
4
6
8
10
0
0.05
0,1
0.15

0,2
0.25
Servicio
propina
0
2
4
6
8
10
0.05
0,1
0.15
0,2
0.25
Servicio
propina
pgina 24

1
Introduccin
1-10
Hasta aqu todo bien. La frmula hace lo que nosotros queremos que haga, y es
bastante
sencillo. Sin embargo, es posible que queramos la punta para reflejar la calidad
de la comida
as como. Esta extensin del problema se define como sigue:
El problema de vuelco extendido.
Dados dos conjuntos de nmeros entre 0 y 10
(donde 10 es excelente) que representan, respectivamente, la calidad del servicio
y
la calidad de la comida en un restaurante, lo que debera ser la punta?
Vamos a ver cmo la frmula se ver afectado ya que hemos aadido otra
variable. Supongamos que tratamos:
punta = 0.20 / 20 * (servicio + comida) 0,05;
En este caso, los resultados parecen bastante, pero cuando nos fijamos en ellos de
cerca,
no parecen del todo bien. Supongamos que desea que el servicio sea una ms
importante
0
5
10

0
5
10
0.05
0,1
0.15
0,2
0.25
Servicio
comida
propina
pgina 25

Un ejemplo introductorio: Fuzzy contra no-Fuzzy


1-11
factor de que la calidad de los alimentos. Digamos que el servicio va a
representar el 80% de
la inflexin "grado" en general y la comida conformarn el otro 20%. Tratar:
servRatio = 0,8;
(servicio de 0.20 / 10 * + 0,05) = punta servRatio * + ...
(1-servRatio) * (0.20 / 10 * alimentos + 0,05);
La respuesta sigue siendo de alguna manera lineal demasiado
uniforme. Supongamos que usted quiere ms de
una respuesta plana en el medio, es decir, se quiere dar una propina del 15% en
general, y
partir de esta meseta slo si el servicio es excepcionalmente bueno o malo.
Esto, a su vez, significa que esas bonitas aplicaciones lineales ya no se
aplican. Podemos
Todava salvar las cosas mediante el uso de una construccin lineal por
tramos. Volvamos a la
problema unidimensional de simplemente teniendo en cuenta el servicio. Usted
puede encadenar
juntos un simple instruccin condicional usando puntos de corte como este:
si el servicio <3,
punta = (0,10 / 3) * Servicio de + 0,05;
elseif servicio <7,
punta = 0,15;
elseif servicio <= 10,
punta = (0,10 / 3) * (servicio-7) 0,15;
fin
0
5

10
0
5
10
0.05
0,1
0.15
0,2
0.25
Servicio
comida
propina
pgina 26

1
Introduccin
1-12
La trama se parece a esto.
Si extendemos esto a dos dimensiones, donde los alimentos que tomamos en
cuenta de nuevo,
Algo como esto Resultados:
servRatio = 0,8;
si el servicio <3,
punta = ((0,10 / 3) * Servicio de + 0,05) * servRatio + ...
(1-servRatio) * (0.20 / 10 * alimentos + 0,05);
elseif servicio <7,
punta = (0.15) * servRatio + ...
(1-servRatio) * (0.20 / 10 * alimentos + 0,05);
ms,
punta = ((0,10 / 3) * (servicio-7) +0,15) * servRatio + ...
(1-servRatio) * (0.20 / 10 * alimentos + 0,05);
fin
0
2
4
6
8
10
0.05
0,1
0.15
0,2

0.25
Servicio
propina
0
5
10
0
5
10
0.05
0,1
0.15
0,2
0.25
Servicio
comida
propina
pgina 27

Un ejemplo introductorio: Fuzzy contra no-Fuzzy


1-13
Guauu! La trama se ve bien, pero la funcin es sorprendentemente
complicado. Era
un poco difcil de cdigo de esto correctamente, y definitivamente no es fcil de
modificar esta
cdigo en el futuro. Por otra parte, es an menos evidente cmo funciona el
algoritmo
a alguien que no presenciaron el proceso de diseo original.
El mtodo de aproximacin
Sera bueno si pudiramos capturar los elementos esenciales de este problema,
dejando
Dejando de lado todos los factores que podran ser arbitraria. Si hacemos una
lista de lo que realmente
asuntos en este problema, que podra terminar con las siguientes descripciones de
reglas:
1. Si el servicio es pobre, entonces la punta es barato
2. Si el servicio es bueno, entonces es media punta
3. Si el servicio es excelente, a continuacin, la punta es generoso
El orden en que se presentan aqu las reglas es arbitraria. No importa
qu reglas son lo primero. Si quisiramos incluir el efecto de la comida en la
punta, que
podra aadir las dos reglas siguientes:

4. Si la comida es rancio, a continuacin, la punta es barato


5. Si la comida es deliciosa, a continuacin, la punta es generoso
De hecho, podemos combinar las dos listas diferentes de reglas en una lista
cerrada de tres
reglas de este modo:
1. Si el servicio es deficiente o la comida es rancio, a continuacin, la punta es
barato
2. Si el servicio es bueno, entonces es media punta
3. Si el servicio es excelente o comida es deliciosa, a continuacin, la punta es
generoso
Estas tres reglas son el ncleo de nuestra solucin. Y coincidentemente,
acabamos de
define las reglas para un sistema de lgica difusa. Ahora bien, si nos damos
matemtica
significado a las variables lingsticas (lo que es una punta de "media", por
ejemplo?) nos
tendra un completo sistema de inferencia borrosa. Por supuesto, hay mucho
izquierda a la
metodologa de la lgica difusa que no estamos mencionando en este momento,
cosas como:
Cmo se combinan las reglas de todo?
Cmo se define matemticamente lo que una punta de "promedio" es?
Estas son preguntas que proporcionamos respuestas detalladas a en los prximos
captulos.
Los detalles del mtodo realmente no cambian mucho de un problema a otro
- La mecnica de la lgica difusa no son muy complejas. Lo que importa es lo
pgina 28

1
Introduccin
1-14
hemos demostrado en esta exposicin preliminar: difusa es adaptable, simple, y
de fcil aplicacin.
Aqu est la imagen asociada con el sistema difuso que resuelve este problema.
La imagen de arriba fue generada por las tres reglas anteriores. La mecnica de
Cmo funciona la inferencia borrosa se explica "The Big Picture" en la pgina
2-18 ,
"Fundamentos de la Lgica Difusa" en la pgina 2-20 , y en "sistemas de
inferencia difusos"
en la pgina 2-36 . En los "Sistemas de construccin con la Lgica Difusa Caja
de herramientas" en la pgina

2-45 , todo el problema de inflexin es trabajado mediante el uso de las


herramientas grficas en
la Caja de herramientas de Lgica Difusa.
algunas observaciones
Aqu hay algunas observaciones sobre el ejemplo hasta el
momento. Encontramos una a trozos
relacin lineal que resuelve el problema. Funcion, pero era algo as como una
molestia para derivar, y una vez que lo escribi como un cdigo, que no era muy
fcil
interpretar. Por otro lado, el sistema difuso se basa en un poco de "comn
sentido "declaraciones. Adems, hemos sido capaces de sumar dos reglas ms al
fondo de
la lista que influy en la forma de la produccin global sin necesidad de deshacer
lo que ya se haba hecho. En otras palabras, la modificacin posterior fue
muy fcil.
Por otra parte, mediante el uso de reglas de lgica difusa, el mantenimiento de la
estructura de la
algoritmo desacopla a lo largo de lneas bastante limpio. La nocin de una fuerza
media punta
cambiar de da en da, de ciudad en ciudad, de pas a pas, pero la lgica
subyacente
es la misma: si el servicio es bueno, la punta debe ser la media. Puede volver a
calibrar
el mtodo rpidamente simplemente cambiando el conjunto difuso que define la
media
sin reescribir las reglas difusas.
0
5
10
0
5
10
0.05
0,1
0.15
0,2
0.25
Servicio
comida
propina
pgina 29

Un ejemplo introductorio: Fuzzy contra no-Fuzzy


1-15
Usted puede hacer este tipo de cosas con las listas de funciones lineales por
partes, pero hay
una mayor probabilidad de que la recalibracin no ser tan rpida y simple.
Por ejemplo, aqu est el problema por partes de inflexin lineal ligeramente
reescrito para
que sea ms genrico. Se realiza la misma funcin que antes, solo que ahora el
constantes se pueden cambiar fcilmente.
Establecer constantes%
lowTip = 0,05; averTip = 0,15; highTip = 0,25;
tipRange = highTip-lowTip;
badService = 0; okayService = 3;
goodservice = 7; greatService = 10;
serviceRange = greatService-badService;
badFood = 0; greatfood = 10;
foodRange = greatfood-badFood;
% Si el servicio es deficiente o comida es rancia, la punta es barato
si el servicio <okayService,
punta = (((averTip-lowTip) / (okayService-badService)) ...
* Servicio de lowTip +) * servRatio + ...
(1-servRatio) * (tipRange / foodRange * + comida lowTip);
% Si el servicio es bueno, la punta es la media
elseif servicio <goodservice,
punta = averTip * servRatio + (1-servRatio) * ...
(tipRange / foodRange * + comida lowTip);
% Si el servicio es excelente o comida es deliciosa, la punta es generoso
ms,
punta = (((highTip-averTip) / ...
(greatService-goodservice)) * ...
(Servicio goodservice) + averTip) * servRatio + ...
(1-servRatio) * (tipRange / foodRange * + comida lowTip);
fin
Ntese la tendencia aqu, al igual que con todo el cdigo, por rastrero generalidad
para hacer que el
algoritmo ms y ms opaca, amenazante, finalmente, a oscurecerlo
completamente. Lo que estamos haciendo aqu no es (no debera ser!) Tan
complicado. Cierto,
podemos luchar contra esta tendencia a ser oscuro, aadiendo todava ms
comentarios, o

tal vez tratando de volver a escribir en poco ms formas evidentes por s mismas,
pero la
el medio no est de nuestro lado.
pgina 30

1
Introduccin
1-16
Lo verdaderamente fascinante observar es que si eliminamos todo a excepcin de
tres observaciones, lo que quedan son exactamente las reglas difusas Escribimos
antes de:
% Si el servicio es deficiente o comida es rancia, la punta es barato
% Si el servicio es bueno, la punta es la media
% Si el servicio es excelente o comida es deliciosa, la punta es generoso
Si, al igual que con un sistema difuso, el comentario es idntico al cdigo, piense
cmo
mucho ms probable es que su cdigo es tener comentarios! La lgica difusa
permite el lenguaje
eso es ms claro para usted, comentarios de alto nivel, tambin tienen un sentido
a la mquina,
es por ello que es una tcnica muy exitosa para cerrar la brecha entre
personas y las mquinas.
O creo que de esta manera: haciendo que las ecuaciones de lo ms simple posible
(lineales)
hacemos las cosas ms simples de la mquina, pero ms complicado para
nosotros. Pero
Realmente la limitacin ya no es el ordenador que es nuestro modelo mental de
lo
el equipo est haciendo. Todos sabemos que las computadoras tienen la
capacidad de hacer
cosas irremediablemente complejos; lgica difusa es realmente acerca de la
recuperacin de la mitad
suelo y dejar que la mquina funcione con nuestras preferencias en lugar de la
otro camino alrededor. Es cuestin de tiempo.
pgina 31

2
Tutorial
El panorama
. . . . . . . . . . . . . . . . . . 2-2
Fundamentos de la Lgica Difusa . . . . . . . . . . . . . 2-4
Sistemas de inferencia difusos . . . . . . . . . . . . . . 2-20

Sistemas de construccin con la Caja de herramientas de la lgica


difusa . . . . 2-29
Trabajando desde la lnea de comandos . . . . . . . . . . 2-49
Trabajando con Simulink . . . . . . . . . . . . . . . 2-62
Inferencia Difusa Sugeno-Type . . . . . . . . . . . . 2-70
ANFIS y el editor de interfaz grfica de usuario ANFIS . . . . . . . . . . . 2-76
Fuzzy Clustering . . . . . . . . . . . . . . . . . 2-104
Autnomo C-Fuzzy Cdigo Motor de inferencia . . . . 2-114
Glosario . . . . . . . . . . . . . . . . . . . . . 2-116
Referencias . . . . . . . . . . . . . . . . . . . . 2-118
pgina 32

2
Tutorial
2-18
El panorama
Vamos a empezar con un poco de motivacin para dnde nos dirigimos en este
captulo. los
punto de la lgica difusa consiste en asignar un espacio de entrada a un espacio
de salida, y el primario
mecanismo para hacer esto es una lista de declaraciones si-entonces llamados
reglas. todas las reglas
son evaluados en paralelo, y el orden de las reglas es importante. Las normas
s son tiles porque se refieren a las variables y los adjetivos que
describir esas variables. Antes de que podamos construir un sistema que
interpreta reglas,
tiene que definir todos los trminos que va a utilizar y los adjetivos que describen
ellos. Si queremos hablar de lo caliente es el agua, es necesario definir el rango
que la temperatura del agua se puede esperar que variar con el, as como lo que
decir con la palabra caliente. Estas son todas las cosas que discutiremos en la
prxima
varias secciones del manual. El siguiente diagrama es algo as como una hoja de
ruta
para el proceso de inferencia difusa. Muestra la descripcin general de un fuzzy
sistema de la izquierda y un sistema difuso especfico (el ejemplo de la inclinar
Introduccin) a la derecha.
Para resumir el concepto de inferencia borrosa se representa en esta figura, fuzzy
inferencia es un mtodo que interpreta los valores en el vector de entrada y, en
base
en algn conjunto de reglas, asigna valores al vector de salida.
Este captulo est diseado para guiarle a travs del proceso paso por la lgica
difusa

paso al proporcionar una introduccin a la teora y prctica de la lgica


difusa. los
tres primeros apartados de este captulo son los ms importantes, que se mueven
de
Entrada
El caso general ...
Un ejemplo especfico ...
Reglas
Entrada
condiciones
(interpretar)
Salida
condiciones
(asignar)
Salida
Servicio
si el servicio es pobre, entonces la punta es barato
si el servicio es bueno, entonces es media punta
si el servicio es excelente, entonces la punta es generoso
{pobre,
bueno,
excelente}
{barato,
promedio,
generoso}
Servicio
se interpreta como
propina
se asigna para ser
propina
pgina 33

El panorama
2-19
general a lo especfico, introduciendo primero las ideas subyacentes y luego
discutir
detalles de implementacin especficas para la caja de herramientas. Estas tres
reas son
Los fundamentos de la lgica difusa , que es una introduccin a lo general
conceptos. Si ya est familiarizado con la lgica difusa, es posible que desee
saltar
esta seccin.

sistemas de inferencia difusos , lo que explica los mtodos especficos de


fuzzy
inferencia utilizado en la Caja de herramientas de la lgica difusa. Puesto que el
campo de usos de lgica difusa
muchos trminos que no tienen an interpretaciones estndar, que debiera
considerar leer esta seccin slo para familiarizarse con la inferencia difusa
proceso, ya que se emplea aqu.
Los sistemas de construccin con la Caja de herramientas de la lgica
difusa , que entra en detalles
sobre la forma de construir y editar un sistema difuso usando esta caja de
herramientas. Esta
se presentan las herramientas de interfaz grfica de usuario disponibles en el
Fuzzy Logic
Caja de herramientas y le gua a travs de la construccin de una completa difusa
sistema de inferencia de principio a fin. Si lo que desea es ponerse al da como
pronto como sea posible, comience aqu.
Despus de esto, hay secciones que tocan una variedad de temas, tales como
Simulink
uso, generacin automtica de la regla, y demostraciones. Pero desde el punto de
vista
de conocer la caja de herramientas, estas tres primeras secciones son las ms
cruciales.
pgina 34

2
Tutorial
2-20
Fundamentos de la Lgica Difusa
Todo es vago en un grado que no se dan cuenta hasta que haya tratado de
hacerlo
precisa . -Bertrand Russell
fuzzy Sets
La lgica difusa se inicia con el concepto de un conjunto difuso. Un conjunto
difuso es un conjunto sin
quebradizo, lmite claramente definido. Puede contener elementos con slo
parcial
grado de pertenencia.
Para entender lo que es un conjunto difuso, considerar en primer lugar qu se
entiende por lo que
podra llamar a un conjunto clsico . Un conjunto clsico es un contenedor que
incluye total o

enteramente excluye cualquier elemento dado. Por ejemplo, el conjunto de das


de la semana
incuestionablemente incluye Lunes, jueves y sbado. Es tan
sin duda excluye la mantequilla, la libertad y aletas dorsales, y as sucesivamente.
Llamamos a este conjunto un conjunto clsico, ya que ha existido por mucho
tiempo. Eso
Aristteles fue el primero en formular la ley del tercero excluido, lo que dice
X debe ser en conjunto A o en conjunto no-A. Otra versin dice as:
De cualquier tema, una cosa debe estar bien afirmada o negada.
Aqu es una reafirmacin de la ley con las anotaciones: "De cualquier materia
(por ejemplo
Lunes), una cosa (siendo un da de la semana) debe ser ya sea afirmada o negada
(Afirmo que el lunes es un da de la semana) ". Esta ley exige que los opuestos,
Las dos categoras A y no-A, entre ellos deben contener la totalidad
universo. Todo cae en cualquiera de un grupo u otro. No hay nada
que es a la vez un da de la semana y no un da de la semana.
lunes
jueves
Libertad
Zapato
polaco
Dorsal
aletas
mantequilla
sbado
Das de la semana
pgina 35

Fundamentos de la Lgica Difusa


2-21
Consideremos ahora el conjunto de das que comprenden un fin de semana. El
siguiente diagrama es una
tentativa en clasificar los das de fin de semana.
La mayora estara de acuerdo en que los sbados y domingos pertenecen, pero
qu tal el viernes?
Se "siente" como una parte del fin de semana, pero de alguna manera parece que
debera ser
tcnicamente excluidos. As que en el diagrama anterior Viernes hace lo mejor
que sentarse en el
cerca. conjuntos clsicos o "normales" no toleraran este tipo de cosas. Ya sea
ests en o ests fuera. La experiencia humana sugiere algo diferente,
sin embargo: valla de sesin es parte de la vida.

Por supuesto que estamos en terreno difcil aqu, porque estamos empezando a
tomar individuo
percepciones y los antecedentes culturales en cuenta cuando nos definen lo
constituye el fin de semana. Pero esto es exactamente el punto. Incluso el
diccionario es
imprecisa, que define el fin de semana como "el perodo comprendido entre el
viernes por la noche o el sbado
al lunes por la maana ". Estamos entrando en el reino donde aristas vivas s-no
la lgica
deja de ser til. razonamiento difuso se convierte en valiosa exactamente cuando
estamos
hablando de cmo la gente percibe realmente el concepto "fin de semana" en
lugar de
una clasificacin simplista til slo para fines contables. Mas que
cualquier otra cosa, la siguiente declaracin sienta las bases de la lgica difusa:
En la lgica difusa, la verdad de cualquier enunciado se convierte en una
cuestin de grado .
Cualquier declaracin puede ser difusa. La herramienta que da razonamiento
difuso es la capacidad
para responder a una pregunta de s o no con un no-absolutamente-s o ninguna
respuesta. Este es el tipo
de lo que lo hacen los humanos todo el tiempo (creo que muy pocas veces se
obtiene una recta
Respuesta a una pregunta aparentemente simple), pero es un lugar nuevo truco
para
ordenadores.
Como funciona? Razonamiento en lgica difusa es slo una cuestin de
generalizar la
familiarizados s-no (booleano) la lgica. Si le damos a "verdadero" el valor
numrico de 1 y
lunes
jueves
Libertad
Zapato
polaco
Dorsal
aletas
mantequilla
sbado
domingo
Das del fin de semana

viernes
pgina 36

2
Tutorial
2-22
"Falso" el valor numrico de 0, estamos diciendo que la lgica difusa permite
tambin
valores intermedios como 0,2 y 0,7453. Por ejemplo:
Q: Es hoy un da de fin de semana?
A: 1 (s, o verdadero)
Q: Es el martes un da de fin de semana?
R: 0 (sin o falsa)
Q: Es el viernes un da de fin de semana?
A: 0,8 (en su mayor parte s, pero no completamente)
Q: Es hoy un da de fin de semana?
R: 0,95 (s, pero no tanto como el sbado).
Abajo, a la izquierda es un diagrama que muestra los valores de verdad de "fin de
semana-dad" si
se ven obligados a responder con un s o un no absoluto. A la derecha es una
representacin grfica
que muestra el valor de verdad de fin de semana-dad si se nos permite responder
con
difusa valores intermedios.
Tcnicamente, la representacin de la derecha es del dominio de varios valores
lgica (o lgica multivalente). Si hago la pregunta "Es X un miembro del
conjunto A?" La
respuesta podra ser s, no, o uno cualquiera de un millar de valores intermedios
en
Entre. En otras palabras, X podra tener miembros parcial en A. multivalor
lgica est en contraste directo con el concepto ms familiar de de dos valores (o
s o no) la lgica bivalente. Dos valores-lgica ha jugado un papel central en la
historia
de la ciencia desde Aristteles primera codificado, pero ha llegado el momento
para poder compartir
el escenario.
Volviendo a nuestro ejemplo, consideremos ahora un grfico de tiempo escala
continua de
de fin de semana-dad se muestra a continuacin.
Los das de la membresa de fin de semana con varios valores
-dad de fin de semana
-dad de fin de semana

viernes
sbado
domingo
lunes
jueves
1.0
0.0
Das de fin de semana, el nmero de miembros de dos valorado
viernes
sbado
domingo
lunes
jueves
1.0
0.0
pgina 37

Fundamentos de la Lgica Difusa


2-23
Al hacer que la trama continua, estamos definiendo el grado en que cualquier
dado
instantnea pertenece en el fin de semana en lugar de un da entero. En la trama
de la
la izquierda, observe que en la medianoche del viernes, al igual que los barridos
de segunda mano pasados 12,
el valor de verdad de fin de semana-dad salta discontinua desde 0 a 1. Esta es una
manera de definir el fin de semana, y si bien puede ser til para un contador, se
en realidad no se conecte con nuestra experiencia del mundo real de fin de
semana-dad.
La trama de la derecha muestra una curva suavemente variable que explica el
hecho de
que todos los viernes, y, en menor grado, las piezas del jueves, participan de la
calidad de fin de semana-dad y por lo tanto merecen la adhesin parcial en el
conjunto difuso
de momentos de fin de semana. La curva que define el fin de semana-dad de
cualquier instantnea
en el tiempo es una funcin que mapea el espacio de entrada (tiempo de la
semana) a la salida
el espacio (fin de semana-dad). En concreto se conoce como una funcin de
pertenencia . Bien
discutir esto con ms detalle en la siguiente seccin.

Como otro ejemplo de conjuntos difusos, examinar la cuestin de las


estaciones. Qu
temporada es que en este momento? En el hemisferio norte, el verano comienza
oficialmente a las
el momento exacto en la rbita de la tierra, cuando el Polo Norte se seal ms
directamente hacia el sol. Ocurre exactamente una vez al ao, a finales de
junio. Utilizando el
definiciones astronmicas para la temporada, obtenemos lmites ntidos, como se
muestra en
La izquierda en la figura de la pgina siguiente. Pero lo que experimentamos
como las estaciones del ao
vara ms o menos continua, como se muestra a la derecha a continuacin (en
templado
climas del hemisferio norte).
Los das de la membresa de fin de semana con varios valores
-dad de fin de semana
-dad de fin de semana
viernes
sbado
domingo
lunes
jueves
1.0
0.0
Das de fin de semana, el nmero de miembros de dos valorado
viernes
sbado
domingo
lunes
jueves
1.0
0.0
pgina 38

2
Tutorial
2-24
Funciones de Pertenencia
Una funcin de pertenencia (MF) es una curva que define la forma en cada punto
de la entrada
el espacio se asigna a un valor de pertenencia (o grado de pertenencia) entre 0
y 1. El espacio de entrada se refiere a veces como el universo de discurso , una

nombre de fantasa para un concepto simple.


Uno de los ejemplos ms comunes de un conjunto difuso es el conjunto de
personas altas.
En este caso, el universo de discurso es todas las alturas posibles, digamos de 3
pies de
9 pies, y la palabra "alto" que corresponderan a una curva que define el grado
a la que cualquier persona es muy alta. Si se da el conjunto de las personas altas
del bien definidas
(Quebradizo) lmite de un conjunto clsico, podramos decir todas las personas
ms altas de seis pies
son considerados oficialmente de altura. Pero tal distincin es claramente
absurdo. Puede
sentido considerar el conjunto de todos los nmeros reales mayores de seis
PORQUE
nmeros pertenecen a un plano abstracto, pero cuando quieren hablar de
verdadera
la gente, no es razonable llamar a una persona de baja estatura y otro alto cuando
difieren en altura por el grosor de un cabello.
Pero si el tipo de distincin se muestra arriba no es viable, entonces cul es la
derecha
manera de definir el conjunto de las personas altas? Tanto como con nuestra
parcela de das de fin de semana, la
Tiempo del ao
marzo
marzo
primavera
verano
otoo
invierno
junio
septiembre
diciembre
1.0
0.0
la licenciatura
de
miembroenviar
la licenciatura
de
miembro-

enviar
Tiempo del ao
marzo
marzo
primavera
verano
otoo
invierno
junio
septiembre
diciembre
1.0
0.0
Debes
ser ms alto
que esto
lnea ser
considerado
ALTO
excelente!
pgina 39

Fundamentos de la Lgica Difusa


2-25
siguiente figura muestra una curva suavemente variable que pasa de no-alto para
alto.
La salida del eje es un nmero conocido como el valor de pertenencia entre 0 y 1.
La curva que se conoce como una funcin de pertenencia y, a menudo se da la
designacin de . Esta curva define la transicin de no muy alto a alto. Ambos
personas son altos en cierto grado, pero uno es significativamente menos alto que
el otro.
interpretaciones subjetivas y unidades apropiadas estn integradas en conjuntos
difusos.
Si digo "Ella es alta," la funcin de pertenencia "de altura" ya debera tener en
cuenta si me refiero a un nio de seis aos de edad o una mujer adulta. Similar,
las unidades se incluyen en la curva. Ciertamente no tiene sentido decir "Es ella
de altura en pulgadas o en metros? "
Las funciones de pertenencia en la caja de herramientas Lgica Difusa
La nica condicin que una funcin de pertenencia realmente debe cumplir es
que debe
variar entre 0 y 1. La funcin de s mismo puede ser una curva arbitraria cuya
altura

grado de
membresa,
sin duda, un alto
persona (
= 0,95)
1.0
0.0
realmente no es muy
de altura en absoluto (
= 0,30)
Afilado
afiliacin
funcin para
ALTO
altura
grado de
membresa,
alto (
= 1,0)
1.0
0.0
no muy alto ( = 0,0)
continuo
afiliacin
funcin para
ALTO
pgina 40

2
Tutorial
2-26
dar forma podemos definir como una funcin que se adapte a nosotros desde el
punto de vista de la
simplicidad, comodidad, rapidez y eficiencia.
Un conjunto clsica podra ser expresado como
A = { x | x > 6}
Un conjunto difuso es una extensin de un conjunto clsico. Si X es el universo
de discurso
y sus elementos se indican con x , a continuacin, un conjunto borroso en X se
define como un conjunto de
pares ordenados:
A = { x ,
UN
( X ) | x X}


UN
( X ) se llama la funcin de pertenencia (o MF) de x en A. El nmero de
miembros
funcin de los mapas de cada elemento de X a un valor de pertenencia entre 0 y
1.
La Caja de herramientas de la lgica difusa incluye 11 tipos de funciones de
pertenencia incorporadas.
Estas 11 funciones estn, a su vez, construidos a partir de varias funciones
bsicas: a trozos
funciones lineales, la funcin de distribucin de Gauss, la curva sigmoide, y
curvas polinmicas de segundo grado y cbicas. Para obtener informacin
detallada sobre cualquiera de los
funciones de pertenencia se mencionan a continuacin, se vuelven a C ap tulo 3,
"Referencia" . Por
convencin, todas las funciones de pertenencia tienen las letras
mf
al final de su
nombres.
Las funciones de pertenencia ms simples se forman utilizando lneas rectas. De
estos,
La ms sencilla es la triangular funcin de pertenencia, y tiene la funcin de
nombre
trimf
. No es nada ms que una coleccin de tres puntos que forman una
tringulo. El trapezoidal funcin de pertenencia,
trapmf
, Tiene una parte superior plana y
Realmente es una curva de tringulo truncado. Estos membresa lnea recta
funciones tienen la ventaja de la simplicidad.
0
2
4
6
8
10
0
0.25
0,5
0.75
1

trimf, P = [3 6 8]
trimf
0
2
4
6
8
10
0
0.25
0,5
0.75
1
trapmf, P = [1 5 7 8]
trapmf
pgina 41

Fundamentos de la Lgica Difusa


2-27
Dos funciones de pertenencia se construyen en la gaussiana curva de
distribucin: un
sencillo curva de Gauss y un material compuesto de dos caras de dos Gaussian
diferente
curvas. Las dos funciones son
gaussmf
y
gauss2mf
.
La campana generalizada funcin de pertenencia se especifica mediante tres
parmetros y
tiene el nombre de la funcin
gbellmf
. La funcin de pertenencia de campana tiene una ms
parmetro de la funcin de pertenencia de Gauss, lo que puede acercarse a una
conjunto no difuso si el parmetro libre se sintoniza. Debido a su suavidad y
notacin concisa, funciones de pertenencia gaussianas y los botones son muy
populares
mtodos para especificar los conjuntos borrosos. Ambas curvas tienen la ventaja
de
siendo suave y distinto de cero en todos los puntos.
Aunque las funciones de pertenencia gaussianas y funciones de pertenencia de
campana

lograr suavidad, no son capaces de especificar la pertenencia asimtrica


funciones, que son importantes en ciertas aplicaciones. A continuacin se define
el
sigmoidal funcin de pertenencia, que es dejado abierta o hacia la
derecha. Asimtrico
y cerradas (es decir, no abierto a la izquierda oa la derecha) funciones de
pertenencia pueden ser
sintetizado utilizando dos funciones sigmoideas, lo que adems de la bsica
sigmf
, nosotros
Tambin tiene la diferencia entre dos funciones sigmoideas,
dsigmf
, y el
producto de dos funciones sigmoideas
psigmf
.
curvas polinmicas basadas representan varias de las funciones de pertenencia de
la caja de herramientas. Tres funciones de pertenencia son los relacionados
con Z, S , y las curvas de Pi , todo
0
2
4
6
8
10
0
0.25
0,5
0.75
1
gaussmf, P = [2 5]
gaussmf
0
2
4
6
8
10
0
0.25
0,5

0.75
1
gauss2mf, P = [1 3 3 4]
gauss2mf
0
2
4
6
8
10
0
0.25
0,5
0.75
1
gbellmf, P = [2 4 6]
gbellmf
0
2
4
6
8
10
0
0.25
0,5
0.75
1
dsigmf, P = [5 2 5 7]
dsigmf
0
2
4
6
8
10
0
0.25
0,5
0.75
1

psigmf, P = [2 3 -5 8]
psigmf
0
2
4
6
8
10
0
0.25
0,5
0.75
1
sigmf, P = [2 4]
sigmf
pgina 42

2
Tutorial
2-28
nombre debido a su forma. La funcin
ZMF
es la asimtrico
curva polinmica abierta a la izquierda,
SMF
es la funcin de imagen especular que se abre
a la derecha, y
pimf
es cero en ambos extremos con un aumento en el medio.
Hay una muy amplia seleccin para elegir cuando se est seleccionando su
favorito
Funcin de la membresa. Y la Caja de herramientas de Lgica Difusa tambin le
permite crear
sus propias funciones de pertenencia si encuentra esta lista demasiado
restrictiva. En el otro
parte, si esta lista parece desconcertante, slo recuerda que probablemente podra
conseguir
lleva muy bien con slo uno o dos tipos de funciones de pertenencia, por
ejemplo,
El tringulo y trapezoidales funciones. La seleccin es amplia para aquellos que
quieren

para explorar las posibilidades, pero las funciones de pertenencia exticos son de
ninguna manera
requerido para perfectamente buenos sistemas de inferencia difusos. Por ltimo,
recordar que
Ms detalles estn disponibles en todas estas funciones en la seccin de
referencia, los cuales
constituye la segunda mitad de este manual.
Resumen de funciones de pertenencia
Los conjuntos difusos se describen conceptos vagos (corredor rpido, el calor,
el fin de semana
das).
Un conjunto difuso admite la posibilidad de la adhesin parcial en ella. (Viernes
es una especie
de un da de fin de semana, el clima es bastante caliente).
El grado un objeto pertenece a un conjunto difuso se denota por un valor de
pertenencia
entre 0 y 1. (viernes es un da de fin de semana con el grado 0,8).
Una funcin de pertenencia asociado a un conjunto difuso dado mapea una
entrada
valor a su valor de pertenencia apropiado.
Operaciones lgicas
Ahora sabemos lo que es difusa acerca de la lgica difusa, pero qu pasa con la
lgica?
Lo ms importante tener en cuenta sobre el razonamiento lgico difuso es el
hecho
que es un superconjunto de la lgica booleana estndar. En otras palabras, si
mantenemos el
0
2
4
6
8
10
0
0.25
0,5
0.75
1
pimf, P = [1 4 5 10]
pimf
0

2
4
6
8
10
0
0.25
0,5
0.75
1
SMF, P = [1 8]
ZMF
0
2
4
6
8
10
0
0.25
0,5
0.75
1
ZMF, P = [3 7]
SMF
pgina 43

Fundamentos de la Lgica Difusa


2-29
valores difusos en sus extremos de 1 (totalmente cierto), y 0 (completamente
falso),
operaciones lgicas estndar sostendrn. Como ejemplo, considerar la norma
por debajo de las tablas de verdad:
Ahora recordando que en la lgica difusa la verdad de cualquier afirmacin es
una cuestin de
grado, cmo se alteran estos tablas de verdad? Los valores de entrada pueden ser
reales
nmeros entre 0 y 1. Qu funcin preserven los resultados de la Y
tabla de verdad (por ejemplo) y tambin se extienden a todos los nmeros reales
entre 0 y 1?
Una respuesta es el min operacin. Es decir, resolver la declaracin Una Y B ,
donde A y B estn limitados a la gama (0,1), utilizando la funcin min ( A , B ).

Usando el mismo razonamiento, podemos sustituir la operacin O con el mximo


funcin, de modo que A OR B se vuelve equivalente a max ( A, B ). Por ltimo, la
La operacin no A se vuelve equivalente a la operacin
. Ntese cmo el
tabla de verdad de arriba es completamente inalterado por esta sustitucin.
Adems, dado que hay una funcin de detrs de la tabla de verdad en lugar de
slo la
tabla de verdad en s, ahora podemos considerar los valores distintos de 0 y 1.
La siguiente figura utiliza un grfico para mostrar la misma informacin. Hemos
convertido
la tabla de verdad de una parcela de dos conjuntos borrosos aplicadas en forma
conjunta para crear una difusa
Y
0
0
1
1
UN
segundo
AyB
UN
segundo
AoB
UN
no es una
0
1
0
1
0
0
0
1
O
0
0
1
1
0
1
0

1
0
1
1
1
NO
0
1
1
0
1A
Y
0
0
1
1
UN
segundo
min (A, B)
UN
segundo
max (A, B)
UN
1-A
0
1
0
1
0
0
0
1
O
0
0
1
1
0
1
0

1
0
1
1
1
NO
0
1
1
0
pgina 44

2
Tutorial
2-30
conjunto. La parte superior de la figura muestra parcelas correspondientes a los
dos de valor
por encima de las tablas de verdad, mientras que la parte inferior de la figura
muestra cmo el
operaciones funcionan en un rango de variacin continua de valores de
verdad A y B
de acuerdo con las operaciones difusas que hemos definido.
Teniendo en cuenta estas tres funciones, podemos resolver cualquier construccin
usando conjuntos difusos
y la operacin lgica difusa AND, OR y NOT.
Operadores difusos adicionales
Nosotros slo hemos definido aqu una correspondencia especfica entre dos
valores,
y multivalued operaciones lgicas de AND, OR y NOT. Esta
la correspondencia de ninguna manera es nico.
En trminos ms generales, estamos definiendo lo que se conoce como la
interseccin borrosa
o conjuncin (Y), unin o separacin difusa (O), y el complemento difusa
(NO). Hemos definido por encima de lo que llamaremos los operadores clsicos
para estos
funciones: Y = min , O = max , y NO = complemento aditivo. Tpicamente
la mayora de las aplicaciones de lgica difusa hacen uso de estas operaciones y
dejarlo en eso.
En general, sin embargo, estas funciones son arbitrarias en un grado
sorprendente. los
Caja de herramientas de la lgica difusa se utiliza el operador clsico para el
complemento difusa como

se muestra ms arriba, sino que tambin le permite personalizar el AND y OR


operadores.
La interseccin de dos conjuntos borrosos A y B se especifica en general por un
binario
mapeo de T , que agrega dos funciones de pertenencia de la siguiente manera:

A B
(X)=T(
UN
( X ),
segundo
( X ))
Y
AyB
De dos valores
lgica
multivalor
lgica
AyB
UN
segundo
UN
UN
segundo
segundo
UN
segundo
AoB
AoB
UN
UN
no es una
no es una
O
NO
min (A, B)
max (A, B)
(1-A)
pgina 45

Fundamentos de la Lgica Difusa

2-31
Por ejemplo, el operador binario T puede representar la multiplicacin de
. Estos operadores de interseccin difusos, que son generalmente
conocidas como T- norma (norma triangular) los operadores, cumplan con los
siguientes bsica
requisitos.
Un T-norma operador es una asignacin binario T (
) Satisfactoria:
lmite : T (0, 0) = 0, T ( un , 1) = T (1, a) = a
monotonicidad : T (a, b) <= T (c, d) si a <= c y b <= d
conmutatividad : T (a, b) = T (b, a)
asociatividad : T (a, T (b, c)) = T (T (a, b), c)
El primer requisito impone la generalizacin correcta a crujientes conjuntos. los
segundo requisito implica que una disminucin en los valores de pertenencia
en una o
B no puede producir un aumento en el valor de la pertenencia
a una interseccin B . los
tercero requisito indica que el operador es indiferente a la orden de la
conjuntos difusos para ser combinados. Por ltimo, el cuarto requisito nos
permite tomar la
interseccin de cualquier nmero de conjuntos en cualquier orden de las
agrupaciones por pares.
Al igual que la interseccin borrosa, el operador de unin difusa se especifica, en
general, por una
binaria mapeo S :

A B
(X)=S(
UN
( X ),
segundo
( X ))
Por ejemplo, el operador binario S puede representar la adicin de
. Estos operadores de la Unin difusos, que a menudo se hace referencia como
T -conorm (o S -norma) operadores, debe cumplir los siguientes requisitos
bsicos.
Un T-conorma (o S-norma ) es un operador de asignacin binario S (
) Satisfactoria:
lmite : S (1, 1) = 1, S ( a, 0 ) = S ( 0 , a) = a
monotonicidad : S (a, b) <= S (c, d) si a <= c y b <= d
conmutatividad : S (a, b) = S (b, a)

asociatividad : S (a, S (b, c)) = S (S (a, b), c)


Varios parametrizados T -norms y doble T -conorms se han propuesto en el
pasado, tales como los de Yager [Yag80], Dubois y Prade [Dub80], Schweizer y
Sklar [Sch63], y Sugeno [Sug77]. Cada uno de stos proporciona una manera de
variar la
"Ganancia" en la funcin de manera que pueda ser muy restrictivas o muy
permisivo.

UN
x y
segundo
x
.
,
.

UN
x y
segundo
x
.
,
.
pgina 46

2
Tutorial
2-32
Si-Entonces Reglas
Los conjuntos difusos y operadores difusos son los sujetos y los verbos de la
lgica difusa. Estas
si-entonces descartar declaraciones se utilizan para formular las declaraciones
condicionales que
comprender la lgica difusa.
Una sola difusa si-entonces regla supone la forma
Si x es A continuacin, y es B
donde A y B son valores lingsticos definidos por conjuntos difusos en los
rangos
(universos de discurso) X e Y, respectivamente. La parte-si de la regla " x es A "
es

llama el antecedente o local, mientras que el entonces parte de la regla " y es B "
se llama
la consecuente o conclusin. Un ejemplo de una norma de este tipo podra ser
si el servicio es bueno, entonces es media punta
Tenga en cuenta que buena se representa como un nmero entre 0 y 1, y por lo
que la
antecedente es una interpretacin que devuelve un nico nmero entre 0 y 1.
Por otra parte, la media se representa como un conjunto difuso, y as la
consiguiente
es una asignacin que asigna todo el conjunto difuso B a la variable de
salida y . En
la si-entonces gobernar, la palabra "es" se utiliza de dos maneras completamente
diferentes
dependiendo de si aparece en el antecedente o el consecuente. En
MATLAB trminos, se trata de la distincin entre una prueba relacional
utilizando "==" y
una asignacin variable mediante el smbolo "=". Una manera menos confusa de
la escritura
regla sera
si el servicio == bueno, entonces la punta = Media
En general, la entrada a una regla de si-entonces es el valor actual de la entrada
variable (en este caso, el servicio ) y la salida es todo un conjunto difuso (en este
caso,
promedio ). Este conjunto ms adelante se defuzzificado asignar un valor a la
salida.
El concepto de defuzzification se describe en la siguiente seccin, en la pgina 241 .
Interpretacin de los si-entonces regla implica partes bien diferenciadas: la
primera evaluacin de la
antecedente (que implica fuzzifying la entrada y la aplicacin de cualquier
necesario
operadores difusos ) y segundo aplicando el resultado a la consecuente
(conocidos como
implicacin ). En el caso de dos de valor o de la lgica binaria, reglas si-entonces
no lo hacen
presentar mucha dificultad. Si la premisa es verdadera, entonces la conclusin es
verdadera. Si nosotros
relajar las restricciones de dos-valorada lgica y dejar que el antecedente sea un
difuso
declaracin, cmo se refleja esto en la conclusin? La respuesta es muy sencilla:
pgina 47

Fundamentos de la Lgica Difusa


2-33
si el antecedente es cierto hasta cierto grado de pertenencia, y luego la
consiguiente es
Tambin es cierto que al mismo grado. En otras palabras
en la lgica binaria: p
q ( p y q son ambos verdaderos o ambos falsos)
en la lgica difusa: 0,5 p 0,5 q (antecedentes parciales proporcionan
implicacin parcial)
El antecedente de una regla puede tener varias partes:
Si el cielo es gris y el viento es fuerte y el barmetro est cayendo, entonces ...
en cuyo caso todas las partes del antecedente se calculan simultneamente y
resuelto a un solo nmero utilizando los operadores lgicos descritos en el
seccin anterior. El consecuente de una regla tambin puede tener varias partes:
si la temperatura es fra y luego la vlvula de agua caliente est abierta la
vlvula de agua fra y se cierra
en cuyo caso todos los consecuentes se ven afectados por igual por el resultado
de la
antecedente. Cmo se ve afectada por la consecuente del antecedente? La
consiguiente
especifica un conjunto difuso se asigna a la salida. La funcin de implicacin a
continuacin,
modifica que en lgica difusa en el grado especificado por el antecedente. El ms
las formas ms comunes para modificar el conjunto de salida difusa se utilizan el
truncamiento min
la funcin (en el que el conjunto difuso se "cort", como se muestra a
continuacin) o escalar utilizando
la prod funcin (en el que el conjunto de salida difusa est "aplastado"). Ambos
son
apoyada por la Lgica Difusa Caja de herramientas, pero usamos el truncamiento
de los ejemplos
en esta seccin.
pgina 48

2
Tutorial
2-34
Resumen de las reglas si-entonces
Interpretacin de reglas si-entonces es un proceso de tres partes. Este proceso se
explica en
detalle en la siguiente seccin.
delicioso

excelente
generoso
Si el servicio es excelente
la comida es deliciosa
entonces
o
punta = generosa
alimentos (quebradizo)
punta (difusa)
servicio (quebradizo)
3. Aplicar
implicacin
operador (min)
2. Aplicar
operador OR
(max)
1. Fuzzify
entradas

(== Comida deliciosa)


= 0 0.7

(Servicio excelente ==)


= 0 .0
min (0,7, generoso)
Antecedente
Consiguiente
0.0
0,7
0,7
Si
(0,0
0.7)
entonces
o
punta = generosa
max (0.0, 0.7) = 0.7
Si
(0,7)
a continuacin, la punta = generosa
0.0

0,7
0,7
pgina 49

Fundamentos de la Lgica Difusa


2-35
1
Fuzzify entradas : resolver todos los estados difusos en el antecedente de un
grado de
composicin entre 0 y 1. Si slo hay una parte a la antecedente, este
es el grado de apoyo a la regla.
2
Aplicar operador difusa para mltiples antecedentes parciales : Si hay varias
piezas
al antecedente, se aplican los operadores de lgica difusa y resolver el
antecedente
un nico nmero entre 0 y 1. Este es el grado de apoyo a la regla.
3
Aplicar el mtodo implica : Utilice el grado de apoyo a toda la regla de
dar forma al conjunto difuso de salida. El consecuente de una regla difusa asigna
un entero
conjunto difuso a la salida. Este conjunto difuso es representado por un nmero
de miembros
funcin que se elige para indicar las cualidades de la consiguiente. Si el
antecedente es slo parcialmente cierto, (es decir, se asigna un valor inferior a 1),
entonces
el conjunto difuso de salida est truncado de acuerdo con el mtodo de
implicacin.
En general, una regla por si mismo no hace mucho bien. Lo que se necesita son
dos o
ms reglas que pueden desempear una con la otra. La salida de cada regla es un
conjunto difuso.
Los conjuntos difusos de salida para cada regla son luego agregados en una sola
salida
conjunto difuso. Por ltimo, el conjunto resultante se defuzzificado , o se resuelve
en un nico
nmero. La seccin siguiente muestra cmo funciona todo el proceso desde el
principio
a fin para un tipo particular de sistema de inferencia borrosa llamado un tipo
Mamdani.
pgina 50

2
Tutorial
2-36
Sistemas de inferencia difusos
inferencia difusa es el proceso de formulacin de la mapeo de una entrada dada
a una salida utilizando la lgica difusa. El mapeo continuacin, proporciona una
base de la cual
se pueden tomar decisiones, o patrones de discernir. El proceso de inferencia
difusa
implica que todas las piezas que se describen en los apartados anteriores:
funciones de pertenencia, operadores de lgica difusa, y reglas si-entonces. Hay
dos
tipos de sistemas de inferencia difusos que pueden ser implementadas en la
Lgica Difusa
Caja de herramientas: de tipo Mamdani y Sugeno-tipo. Estos dos tipos de
sistemas de inferencia
variar un poco en el camino se determinan las salidas. Las descripciones de estos
dos
tipos de sistemas de inferencia difusos se pueden encontrar en las referencias
[Jan97,
Mam75, Sug85].
sistemas de inferencia difusos se han aplicado con xito en campos como la
control automtico, la clasificacin de datos, anlisis de decisin, sistemas
expertos, y
visin por computador. Debido a su carcter multidisciplinar, inferencia borrosa
basan-Fuzzy-regla sistemas estn asociados con una serie de nombres, tales como
sistemas expertos, sistemas difusos, modelado difuso, memoria asociativa difusa,
controladores borrosos y lgica, simplemente (y ambiguamente) sistemas
difusos. Dado que la
trminos utilizados para describir las diversas partes del proceso de inferencia
difusa son mucho
desde estndar, vamos a tratar de ser lo ms claro posible sobre los diferentes
trminos
introducido en esta seccin.
mtodo de inferencia borrosa de Mamdani es el ms comnmente se ve borrosa
metodologa. mtodo de Mamdani fue uno de los primeros sistemas de control
integrados
utilizando la teora de conjuntos difusos. Fue propuesto en 1975 por Ebrahim
Mamdani [Mam75]
como un intento de controlar una mquina de vapor y la combinacin de caldera
mediante la sntesis de

un conjunto de reglas de control lingsticas obtiene a partir de los operadores


humanos experimentados.
esfuerzo de Mamdani se bas en 1973 Lotfi Zadeh papel de sobre algoritmos
difusos
para los sistemas complejos y procesos de toma [Zad73]. Aunque la inferencia
proceso que describimos en las siguientes secciones difiere un poco de los
mtodos
se describe en el documento original, la idea bsica es la misma.
De tipo Mamdani de inferencia, como lo hemos definido para la Lgica Difusa
Caja de herramientas,
espera que las funciones de pertenencia de salida para ser conjuntos
difusos. Despus de la
proceso de agregacin, hay un conjunto difuso para cada variable de salida que
necesita
defuzzification. Es posible, y en muchos casos mucho ms eficiente, para utilizar
una
pico sencillo como la funcin de pertenencia de salida en lugar de un difuso
distribuido
conjunto. Esto a veces se conoce como un singleton funcin de pertenencia de
salida, y
que puede ser pensado como un conjunto difuso pre-defuzzificados. Se mejora la
eficiencia de
el proceso defuzzification porque simplifica en gran medida el clculo
pgina 51

Sistemas de inferencia difusos


2-37
requerido por el mtodo de Mamdani ms general, que encuentra el centro de
gravedad de una
funcin de dos dimensiones. En lugar de la integracin a travs de la de dos
dimensiones
funcionar para encontrar el centro de gravedad, se utiliza el promedio ponderado
de los pocos puntos de datos.
sistemas de tipo Sugeno admiten este tipo de modelo. En, Sugeno-tipo general
sistemas se pueden utilizar para modelar cualquier sistema de inferencia en el que
la salida
funciones de pertenencia son bien lineal o constante.
Cena para dos, Reprise
En esta seccin proporcionamos el mismo de dos entradas de una sola salida de
inflexin de tres regla
problema que se vio en la introduccin, slo en ms detalle. Lo bsico
estructura de este ejemplo se muestra en el siguiente diagrama.

La informacin fluye de izquierda a derecha, de dos entradas a una nica


salida. los
naturaleza paralela de las reglas es uno de los aspectos ms importantes de la
lgica difusa
sistemas. En lugar de afilado de conmutacin entre los modos en base a los
puntos de interrupcin, nos
se deslizar suavemente de regiones en las que el comportamiento del sistema
est dominado por
ya sea una regla u otra.
En el Cuadro de Lgica Difusa, hay cinco partes del proceso de inferencia difusa:
fuzzification de las variables de entrada, la aplicacin del operador fuzzy (Y o
O) en el antecedente, la implicacin del antecedente al consecuente,
la agregacin de los consecuentes a travs de las reglas, y defuzzification. Estas
a veces nombres crpticos e impares tienen un significado muy especfico que
vamos a definir
cuidadosamente a medida que avanzamos a travs de cada uno de ellos con ms
detalle a continuacin.
entrada 1
Servicio (0-10)
Salida
Punta (5-25%)
entrada 2
Alimentos (0-10)

Cena para dos


una entrada de 2, 1 salida, sistema de 3 regla
Todas las reglas son
evaluada en paralelo
utilizando difusa
razonamiento.
Los resultados de las reglas
se combinan y se
destilada (defuzzificados).
El resultado es un crujiente
(No clara) nmero.
Las entradas son ntidas
(no-fuzzy) nmeros
limitado a una especfica
distancia.
Si el servicio es excelente o comida es deliciosa,
a continuacin, la punta es generoso.

regla 3
Si el servicio es bueno, entonces la punta es la media.
regla 2
Si el servicio es deficiente o comida es rancio,
a continuacin, la punta es barato.
Regla 1
pgina 52

2
Tutorial
2-38
Paso 1. Entradas Fuzzify
El primer paso es tomar las entradas y determinar el grado en que se
pertenecer a cada uno de los conjuntos difusos correspondientes a travs de las
funciones de pertenencia. En el
Lgica Difusa Caja de herramientas, la entrada es siempre un valor numrico
quebradizo limitado a la
universo de discurso de la variable de entrada (en este caso el intervalo entre 0
y 10) y la salida es una medida difusa de pertenencia a la clasificacin
conjunto lingstica (siempre que el intervalo entre 0 y 1). Fusificacin de la
entrada
asciende a cualquiera de una bsqueda en la tabla o una evaluacin de la funcin.
El ejemplo que estamos utilizando en esta seccin se basa en tres reglas, y cada
una de las
normas depende de la resolucin de los elementos de entrada en un nmero de
diferentes lingstico difuso
establece: el servicio es mala, el servicio es bueno, la comida es rancia, la comida
es deliciosa, y as sucesivamente.
Antes de que las reglas pueden ser evaluadas, las entradas deben estar de acuerdo
con fuzzificadas
cada uno de estos conjuntos lingsticos. Por ejemplo, en qu medida es la
comida realmente
delicioso? La siguiente figura muestra qu tan bien la comida en nuestra
hipottica
restaurante (puntuacin en una escala de 0 a 10) califica, (a travs de su funcin
de pertenencia),
como la variable lingstica "delicioso." En este caso, nos clasificado la comida
como un 8,
que, dada nuestra definicin grfica de delicioso, corresponde a = 0,7 para el
"Delicioso" funcin de pertenencia.
(El cumplido con el chef sera "su comida es deliciosa en la medida 0.7.")

De esta manera, cada entrada se fuzzificadas sobre todos los miembros de


clasificacin
funciones requeridas por las normas.
Paso 2. Aplicar operador Fuzzy
Una vez que las entradas han sido fuzzificado, sabemos que el grado en que cada
parte de
el antecedente ha sido satisfecha para cada regla. Si el antecedente de una regla
dada
ha ms de una parte, se aplica el operador difusa para obtener un nmero que
representa el resultado de la antecedente para esa regla. Este nmero ser
entonces
se aplica a la funcin de salida. La entrada al operador difusa es dos o ms
delicioso
0,7
la comida es deliciosa
comida = 8
entrada
Consecuencia de
fusificacin
1. Fuzzify
insumos.
pgina 53

Sistemas de inferencia difusos


2-39
valores de pertenencia de las variables de entrada fuzzificadas. La salida es una
sola verdad
valor.
Como se describe en la seccin sobre operaciones lgicas difusas, cualquier
nmero de
mtodos bien definidos pueden reemplazar a la operacin AND o la operacin
OR. En
la Lgica Difusa Caja de herramientas, dos incorporados y son compatibles
mtodos: min
(mnimo) y prod (producto). Dos incorporado o mtodos tambin son
compatibles:
max (mximo), y el mtodo probabilstico O probor . La O probabilstico
mtodo (tambin conocido como la suma algebraica) se calcula de acuerdo con la
ecuacin
probor ( un , b ) = a + b - ab
Adems de estos mtodos incorporados, puede crear sus propios mtodos para
AND y OR escribiendo cualquier funcin y establecer que para ser su mtodo de

eleccin. Habr ms informacin sobre cmo hacer esto ms adelante.


A continuacin se muestra un ejemplo del operador o mximo en el
trabajo. Estamos evaluando
el antecedente de la regla 3 para el clculo de inflexin. Las dos piezas diferentes
del antecedente (el servicio es excelente y la comida es deliciosa) produjo el
difusa
pertenencia valores 0,0 y 0,7, respectivamente. El operador simplemente borrosa
o
selecciona el mximo de los dos valores, 0,7, y la operacin difusa para la regla 3
est completo. Si estbamos usando el mtodo probabilstico O, el resultado sera
an
ser 0,7 en este caso.
Paso 3. Aplicar el mtodo Implicacin
Antes de aplicar el mtodo de implicacin, hay que tener cuidado de peso de la
regla.
Cada regla tiene un peso (un nmero entre 0 y 1), que se aplica a la
nmero dado por el antecedente. Generalmente, este peso es 1 (como es por esta
ejemplo) y por lo que no tiene ningn efecto en absoluto sobre el proceso de
implicacin. De vez en
delicioso
excelente
0.0
0.0
0,7
0,7
el servicio es excelente
la comida es deliciosa
o
comida = 8
entrada 2
consecuencia de
operador difuso
servicio = 3
entrada 1
2. Aplicar
Operador OR (max).
1. Fuzzify
insumos.
pgina 54

2
Tutorial

2-40
el tiempo es posible que desee para ponderar una regla respecto a las otras,
cambiando su
valor de peso a algo distinto de 1.
Una vez ponderacin adecuada se ha asignado a cada regla, el mtodo de
implicacin
est implementado. Una consecuencia es un conjunto difuso representado por
una membresa
funcin, el cual se ponderen adecuadamente las caractersticas lingsticas que
son
que se le atribuye. La consiguiente se forma de nuevo el uso de una funcin
asociada con
el antecedente (un solo nmero). La entrada para el proceso de implicacin es
una
solo nmero dado por el antecedente, y la salida es un conjunto difuso.
Implicacin se implementa para cada regla. Dos mtodos incorporados son
compatibles,
y son las mismas funciones que son utilizados por el mtodo E: min
(mnimo), que trunca el conjunto difuso de salida, y prod (producto), que
escala el conjunto difuso de salida.
Paso 4. agregadas todas las salidas
Dado que las decisiones se basan en las pruebas de todas las reglas en una de
esqu alpino, las normas
debe combinarse de alguna manera con el fin de tomar una decisin. La
agregacin es
el proceso por el que los conjuntos difusos que representan las salidas de cada
regla son
combinados en un solo conjunto difuso. La agregacin se produce slo una vez
para cada salida
variables, justo antes de la quinta y ltima etapa, defuzzification. La entrada de la
proceso de agregacin es la lista de las funciones de salida devueltos por el
truncados
proceso de implicacin de cada regla. La salida del proceso de agregacin es una
conjunto difuso para cada variable de salida.
delicioso
excelente
generoso
Si el servicio es excelente
la comida es deliciosa
entonces
o

punta = generosa
comida = 8
entrada 2
consecuencia de
implicacin
servicio = 3
entrada 1
3. Aplicar
Implicacin
operador (min).
2. Aplicar
Operador OR (max).
1. Fuzzify
insumos.
Antecedente
Consiguiente
pgina 55

Sistemas de inferencia difusos


2-41
Ntese que, siempre que el mtodo de agregacin es conmutativa (que siempre
debera ser), a continuacin, el orden en que se ejecutan las reglas no es
importante.
Tres mtodos incorporados son
compatibles: max (mximo), probor (probabilstico
o), y la suma (simplemente la suma de conjunto de salida de cada regla).
En el siguiente diagrama, las tres reglas han sido colocados juntos para mostrar
cmo
la salida de cada regla se combina, o agregada, en un solo conjunto difuso cuya
funcin de pertenencia asigna una ponderacin para cada valor de salida (punta).
Paso 5. Defuzzify
La entrada para el proceso defuzzification es un conjunto difuso (la produccin
agregada
conjunto difuso) y la salida es un nmero nico. Por mucho que la borrosidad de
la ayuda
evaluacin de la regla durante los pasos intermedios, el resultado final deseado
para cada
variable es generalmente un solo nmero. Sin embargo, la suma de un conjunto
difuso
abarca una gama de valores de salida, y as debe ser defuzzificados con el fin de
resolver un valor de salida nica del conjunto.
4. Aplicar

agregacin
mtodo (max).
2. Aplicar
borroso
operacin
(OR = max).
1. Entradas Fuzzify.
3. Aplicar
implicacin
mtodo (min).
0 25%
0 25%
0 25%
0 25%
0 25%
0 25%
0 25%
delicioso
promedio
bueno
excelente
rancio
barato
pobre
generoso
comida = 8
entrada 2
Consecuencia de
agregacin
Regla 2 tiene
ninguna dependencia
en la entrada 2
servicio = 3
entrada 1
Si
el servicio es deficiente
comida es rancio
entonces
o
punta = barato
Si

el servicio es bueno
entonces
punta = promedio
Si el servicio es excelente
la comida es deliciosa
entonces
o
punta = generosa
1.
2.
3.
pgina 56

2
Tutorial
2-42
Quizs el mtodo ms popular es defuzzification el clculo del centroide,
que devuelve el centro del rea bajo la curva. Hay cinco incorporada
mtodos admitidos: centroide, bisectriz, medio de mximo (el promedio de la
valor mximo del conjunto de salida), el mayor de mxima, y el ms pequeo de
mximo.
El diagrama de inferencia borrosa
El diagrama de inferencia difusa es la combinacin de todos los diagramas ms
pequeos que hemos
estado mirando hasta ahora en esta seccin. Se muestra simultneamente todas
las partes de la
proceso de inferencia difusa hemos examinado. La informacin fluye a travs de
la difusa
diagrama de inferencia como se muestra a continuacin.
Observe cmo el flujo prosigue a partir de las entradas en la parte inferior
izquierda, luego a travs
cada fila, o la regla y, a continuacin, se establecen las salidas de reglas para
terminar en la parte inferior derecha.
Esta es una forma muy compacta de mostrar todo a la vez, de lingstica
fusificacin variable de todo el camino a travs del agregado defuzzification
salida.
5. Defuzzify la
produccin agregada
(Centroide).
Consecuencia de
defuzzification
punta = 16,7%

0 25%
la interpretacin de la
Inferencia difusa
Diagrama
entrada 2
entrada 1
1. si
y
entonces
2. si
y
entonces
salida
pgina 57

Sistemas de inferencia difusos


2-43
A continuacin se muestra el diagrama de tamao completo de inferencia borrosa
real. Hay mucho para ver
en un diagrama de inferencia borrosa, pero una vez que se acostumbre a ella, se
puede
aprender mucho sobre un sistema muy rpidamente. Por ejemplo, a partir de este
diagrama con
estas entradas particulares, se puede ver fcilmente que el mtodo implica
truncado con el min funcin. El max funcin se utiliza para la fuzzy
operacin OR. Regla 3 (abajo a la fila ms en el diagrama que se muestra
contrario) es
que tiene la mayor influencia en la salida. Y as. El Visor de Reglas
se describe en "La Regla de Visor" en la pgina 2-5 9 es una aplicacin de
MATLAB
el diagrama de inferencia borrosa.
personalizacin
Uno de los objetivos principales de la Caja de herramientas de la lgica difusa es
tener un proceso abierto y
fcil de modificar la estructura del sistema de inferencia borrosa. Por lo tanto, la
Lgica Difusa
Caja de herramientas est diseado para darle tanta libertad como sea posible,
dentro de la base
5. Defuzzify
(Centroide).
4. Aplicar
agregacin

mtodo (max).
2. Aplicar
borroso
operacin
(OR = max).
1. Entradas Fuzzify.
3. Aplicar
implicacin
mtodo (min).
0% 25%
0% 25%
0% 25%
0% 25%
0% 25%
delicioso
promedio
bueno
excelente
rancio
barato
pobre
comida = 8
entrada 2
salida
Regla 2 tiene
ninguna dependencia
en la entrada 2
punta = 16,7%
servicio = 3
entrada 1
Si
el servicio es deficiente
comida es rancio
punta = barato
entonces
o
Si
el servicio es bueno
entonces
punta = promedio
Si el servicio es excelente

la comida es deliciosa
entonces
o
punta = generosa
1.
2.
3.
0% 25%
0 10
generoso
0 10
0 10
0 10
0
10
0% 25%
pgina 58

2
Tutorial
2-44
las limitaciones del proceso descrito aqu, para personalizar la inferencia borrosa
procedimiento para su aplicacin. Por ejemplo, se puede sustituir su propio
funciones de MATLAB para cualquiera de las funciones por defecto utilizados en
los cinco pasos
detallado anteriormente: a tomar sus propias funciones de pertenencia y mtodos,
O
mtodos, procedimientos, mtodos de agregacin de implicacin, y
defuzzification
mtodos. La siguiente seccin describe exactamente cmo construir e
implementar una
sistema de inferencia difusa utilizando las herramientas proporcionadas.
pgina 59

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-45
Sistemas de construccin con la caja de herramientas Lgica Difusa
Cena para dos, de arriba
Ahora vamos a trabajar a travs de un ejemplo de inflexin similar, slo
estaremos
la construccin de sta mediante la interfaz grfica de usuario (GUI)
proporcionados por el Fuzzy

Lgica Caja de herramientas. Aunque es posible utilizar la Caja de herramientas


de Lgica Difusa trabajando
estrictamente desde la lnea de comandos, en general, es mucho ms fcil de
construir un sistema de
grficamente. Hay cinco principales herramientas de la GUI para la creacin,
edicin y
la observacin de los sistemas de inferencia difusos en la caja de herramientas
Lgica Difusa: el Fuzzy
Sistema de inferencia o FIS Editor, Editor de la funcin de miembro, la Regla
Editor, el Visor de Reglas, y el Visor de superficie. Estas interfaces grficas de
usuario son dinmicamente
vinculada, en que los cambios efectuados a la FIS usando uno de ellos, lo que
puede afectar
que se ve en cualquiera de las otras interfaces grficas de usuario abiertas. Usted
puede tener cualquiera o todos ellos abierto para
cualquier sistema dado.
Adems de estos cinco interfaces grficas de usuario primaria, la caja de
herramientas incluye la grfica
ANFIS Editor GUI, que se utiliza para la construccin y el anlisis de Sugeno de
tipo
sistemas de inferencia difusos adaptativos neurales. El ANFIS Editor GUI se
discute
ms adelante en este captulo, en la secci n, "Sugeno-Tipo de inferencia
borrosa" en la pgina
2-86 .
pgina 60

2
Tutorial
2-46
El editor de la FIS se ocupa de los problemas de alto nivel para el sistema:
Cuntos de entrada
y variables de salida? Cules son sus nombres? La Lgica Difusa Caja de
herramientas no lo hace
limitar el nmero de entradas. Sin embargo, el nmero de entradas puede ser
limitada por
la memoria disponible de la mquina. Si el nmero de entradas es demasiado
grande, o
el nmero de funciones de pertenencia es demasiado grande, entonces tambin
puede ser difcil de
analizar la FIS usando las otras herramientas de la GUI.
El Editor de miembro de funcin se utiliza para definir las formas de toda la

funciones de pertenencia asociados con cada variable.


El editor de reglas es para la edicin de la lista de reglas que define el
comportamiento de la
sistema.
Borroso
Inferencia
Sistema
Editor de FIS
Afiliacin
Editor de la funcin
Editor de reglas
Regla Visor
Visor de superficie
Solo lectura
herramientas
Pgina 61

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-47
El Visor de Reglas y el Visor de superficie se utilizan para mirar, a diferencia de
edicin, el FIS. Estn estrictamente herramientas de slo lectura. El Visor de
Reglas es una
visualizacin basada en MATLAB del diagrama de inferencia borrosa se muestra
al final de la
ltima seccin. Se utiliza como un diagnstico, se puede mostrar (por ejemplo)
que son reglas
formas de funciones miembros activos, o cmo individuales estn influyendo en
la
resultados. El Visor de superficie se utiliza para mostrar la dependencia de una de
las
salidas en una o dos de las entradas, es decir, que genera y parcelas una
mapa de la superficie de salida para el sistema.
En este captulo se inici con una ilustracin similar a la de abajo que describe la
partes principales de un sistema de inferencia borrosa, solamente la de abajo
muestra cmo los tres
Editores encajan entre s. Los dos visores examinar el comportamiento de la
totalidad
sistema.
Las cinco principales GUIs todo pueden interactuar e intercambiar
informacin. Cualquiera de
ellos pueden leer y escribir tanto al rea de trabajo y en el disco (el de slo
lectura

los espectadores todava pueden intercambiar parcelas con el espacio de trabajo y


/ o el disco). Para cualquier
sistema de inferencia borrosa, cualquiera o todos de estos cinco interfaces
grficas de usuario puede ser abierta. Si ms de
uno de estos editores es abierta para un solo sistema, las distintas ventanas GUI
son
consciente de la existencia de los otros, y la voluntad, si es necesario, actualizar
relacionados
ventanas. As, si los nombres de las funciones de pertenencia se cambian
mediante
el Editor de afiliacin de funciones, esos cambios se reflejan en las normas
se muestra en el editor de reglas. Los editores de cualquier nmero de diferentes
sistemas FIS
pueden estar abiertos al mismo tiempo. El Editor de esqu alpino, la funcin de
pertenencia
Editor y el editor de reglas puede leer todo y modificar los datos de la FIS, pero
la Regla
el Visor Visor de superficie y no modifiquen los datos de la FIS de ninguna
manera.
Entrada
El caso general ...
Un ejemplo especfico ...
Reglas
Entrada
condiciones
(interpretar)
Salida
condiciones
(asignar)
Salida
Servicio
si el servicio es pobre, entonces la punta es barato
si el servicio es bueno, entonces es media punta
si el servicio es excelente, entonces la punta es generoso
{pobre,
bueno,
excelente}
{barato,
promedio,
generoso}
servicio =

punta =
propina
Los editores GUI ...
El Editor de FIS
El editor de reglas
la afiliacin
Editor de la funcin
Pgina 62

2
Tutorial
2-48
Empezando
Comenzaremos con una descripcin bsica de una de dos entradas, un problema
de inflexin de una sola salida
(Basado en las prcticas de inflexin en los EE.UU.).
El problema bsico de vuelco.
Dado un nmero entre 0 y 10 que representa la
calidad de servicio en un restaurante (donde 10 es excelente), y otro nmero
entre 0 y 10 que representa la calidad de la comida en ese restaurante
(De nuevo, 10 es excelente), cul debera ser la punta?
El punto de partida es la de escribir las tres reglas de oro de inflexin, basado en
aos de experiencia personal en los restaurantes.
1. Si el servicio es deficiente o la comida es rancio, a continuacin, la punta es
barato.
2. Si el servicio es bueno, entonces la punta es normal.
3. Si el servicio es excelente o la comida es deliciosa, a continuacin, la punta es
generoso.
Vamos a suponer que una punta media es del 15%, una generosa propina es del
25%, y una punta barato
es 5%. Tambin es til tener una vaga idea de lo que la funcin de inflexin debe
parece.
Obviamente el nmero y la forma de la curva estn sujetos a locales
tradiciones, prejuicios culturales, y as sucesivamente, pero las tres reglas son
bastante universal.
Ahora conocemos las reglas, y tenemos una idea de lo que el resultado debe ser
me gusta. Vamos a empezar a trabajar con las herramientas de la GUI para
construir una inferencia borrosa
sistema para este proceso de decisin.
.25
.15
.5

mal servicio o mala comida


Gran servicio o la comida
pgina 63

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-49
El Editor de FIS
La siguiente discusin se gua a travs de la construccin de una nueva inferencia
borrosa
sistema desde cero. Si desea ahorrar tiempo y seguir adelante rpidamente, puede
cargar el sistema ya construido escribiendo
volquete difusa
Esto cargar el FIS asociados con el archivo
tipper.fis
(el
.fis
est implcito)
y poner en marcha el Editor de esqu alpino. Sin embargo, si se carga el sistema
de pre-construidos, se quiere
no puede ser la construccin de reglas y la construccin de funciones de
pertenencia.
El Editor de FIS muestra informacin general sobre un sistema de inferencia
borrosa.
Hay un diagrama simple en la parte superior que muestra los nombres de cada
entrada
variable de la izquierda, y los de cada variable de salida a la derecha. La muestra
funciones de pertenencia que se muestran en los cuadros son slo los iconos y no
representan la
formas reales de las funciones de pertenencia.
A continuacin el diagrama es el nombre del sistema y el tipo de inferencia
utilizado.
El valor por defecto, de tipo Mamdani de inferencia, es lo que hemos estado
describiendo hasta ahora y
Esta lnea de estado describe la
ms reciente operacin.
Estos mens emergentes se utilizan para
ajustar las funciones de inferencia difusos,
tales como el mtodo defuzzification.
Se muestra el nombre del sistema
aqu. Se puede cambiar el uso de una de las
Guardar como ... opciones del men.
Estos elementos de men le permiten guardar, abrir,

o editar un sistema difuso utilizando cualquiera de los cinco


herramientas bsicas de la GUI.
Haga doble clic en una entrada
icono variable para abrir el
Funcin de miembros Editor.
Haga doble clic en el sistema
diagrama para abrir el
Editor de reglas.
Haga doble clic en el icono de
la variable de salida, la punta, a
abrir la membresa
Editor de la funcin.
Este campo de edicin se utiliza para nombrar
y editar los nombres de los
entrada y variable de salida.
Pgina 64

2
Tutorial
2-50
lo que vamos a seguir utilizando para este ejemplo. Otro tipo ligeramente
diferente de
inferencia, denominada de tipo Sugeno inferencia, tambin est disponible. Este
mtodo es
se explica en "Sugeno-Tipo de inferencia borrosa" en la pgina 2-86 . Debajo del
nombre de
el sistema de inferencia difuso, en el lado izquierdo de la figura, son los mens
emergentes
que le permiten modificar las diversas piezas del proceso de inferencia. Sobre el
rightsideatthe parte inferior de thefigureis el rea que aparece thenameofeither
una variable de entrada o salida, su asociado Tipo de funcin de pertenencia, y su
distancia. Los dos ltimos campos se identifican slo despus de las funciones de
pertenencia
Ha estado. Por debajo de esta regin son los de Ayuda y Cerrar botones que
llaman hasta
ayuda en lnea y cerrar la ventana, respectivamente. En la parte inferior es una
lnea de estado
que transmite informacin acerca del sistema.
Para iniciar este sistema desde cero, el tipo
borroso
en el indicador de MATLAB. Se abre el Editor sin ttulo genrico de esqu alpino,
con una entrada,

etiquetada INPUT1 , y una salida, etiquetados output1 . Para este ejemplo,


vamos a
construir una, un sistema de salida de dos entradas, por lo que ir a
la Editar men y seleccione
Aadir entrada . Un segundo cuadro con la etiqueta
amarilla INPUT2 aparecer. Las dos entradas de nosotros
tendr en nuestro ejemplo son el servicio y la comida . Nuestra nica salida es la
punta . Nos gustara
para cambiar los nombres de las variables para reflejar que, sin embargo.
1
Haga clic una vez en el cuadro de la izquierda (amarillo) marc INPUT1 (la caja
ser
resaltado en rojo).
2
En el campo de edicin blanca a la derecha, el cambio
INPUT1
a
Servicio
y pulse
Regreso.
3
Haga clic una vez en el cuadro de la izquierda (amarillo) marc INPUT2 (la caja
ser
resaltado en rojo).
4
En el campo de edicin blanca a la derecha, el cambio
INPUT2
a
comida
y pulse Retorno .
5
Haga clic una vez en el lado derecho (azul) casilla marcada output1 .
6
En el campo de edicin blanca a la derecha, el cambio
output1
a
propina
.
Pgina 65

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-51

7
Desde el Archivo men, seleccione Guardar para rea de trabajo como ... .
8
Introduzca el nombre de la variable
volquete
y haga clic en OK.
Podrs ver el diagrama actualizado para reflejar los nuevos nombres de la entrada
y
variables de salida. Ahora hay una nueva variable en el espacio de trabajo
denominado
volquete
que contiene toda la informacin acerca de este sistema. Al ahorrar al espacio de
trabajo
con un nuevo nombre, tambin cambia el nombre de todo el sistema. Su ventana
tendr un aspecto
algo como esto.
Deje las opciones de inferencia en la parte inferior izquierda de sus posiciones
predeterminadas por ahora.
Haya introducido toda la informacin que necesita para esta interfaz grfica de
usuario en particular. Siguiente
definir las funciones de pertenencia asociadas con cada una de las variables. Que
hacer
Pgina 66

2
Tutorial
2-52
esto, abrir el Editor de miembro de funcin. Puede abrir la membresa
Funcin de editor en una de tres maneras:
Despliegue el Vista elemento de men y seleccionar funciones de edicin de
miembros ... .
Haga doble clic en el icono de la variable de salida, de punta .
Tipo
mfedit
en la lnea de comandos.
El Editor de miembro Funcin
Las acciones del editor de funciones de miembro algunas caractersticas con el
Editor de FIS. En
De hecho, varias de estas cinco herramientas bsicas GUI tienen opciones de
men similares, las lneas de estado y
Ayuda y Cerrar botones. El Editor de afiliacin funcin es la herramienta que
permite

Esta lnea de estado describe


la operacin ms reciente.
Este campo de edicin le permite establecer
el rango de visualizacin de la
de trazado actual.
Este campo de edicin permite
se establece la gama de
la variable actual.
Estos elementos de men le permiten
para guardar, abrir o editar un difuso
sistema utilizando cualquiera de los cinco
herramientas bsicas de la GUI.
Esta es la "variable Paleta"
zona. Haga clic en una variable aqu
para que sea actual y editar su
funciones de pertenencia.
Este campo grfico que muestra todo
las funciones de pertenencia
de la variable actual.
Este men emergente le permite
cambia el tipo de
de la corriente
Funcin de la membresa.
Estos campos de texto muestran
el nombre y el tipo de
la variable actual.
Este campo de edicin permite
cambia el
numrico
parmetros para la
membresa actual
funcin.
Haga clic en una lnea para seleccionarla y
puede cambiar ninguno de sus atributos,
incluyendo el nombre, tipo y
parmetros numricos. arrastre su
ratn para mover o cambiar la forma
de una funcin de pertenencia seleccionado.
Este campo de edicin que permite
cambiar el nombre de la
membresa actual

funcin.
Pgina 67

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-53
visualizar y editar todas las funciones de pertenencia asociadas a la totalidad de la
variables de entrada y de salida para todo el sistema de inferencia borrosa.
Al abrir el Editor de afiliacin de funciones para trabajar en una inferencia
borrosa
sistema que an no existe en el espacio de trabajo, no hay todava ninguna son
funciones de pertenencia asociadas a las variables que acaba de definir
con el Editor de esqu alpino.
En la parte izquierda superior del rea del grfico en el Editor de afiliacin
funcin es
una "paleta de variables" que le permite configurar las funciones de pertenencia
para un determinado
variable.To configurar las funciones de pertenencia asociadas a una entrada o una
variable de salida para el esqu alpino, seleccione una variable de esqu alpino en
esta regin haciendo clic en
eso.
A continuacin, seleccione el Editar men desplegable, y seleccione Aadir los
BM ... . Una nueva ventana
aparecer, lo que le permite seleccionar tanto el tipo y la funcin de pertenencia
el nmero de funciones de pertenencia asociado con la variable seleccionada. En
la esquina inferior derecha de la ventana son los controles que le permiten
cambiar la
nombre, tipo, y los parmetros (de forma), de la funcin de pertenencia, una vez
que ha
sido seleccionado.
Las funciones de pertenencia de la variable actual se muestran en la principal
grafico. Estas funciones de pertenencia se pueden manipular de dos
maneras. Usted puede
en primer lugar utilizar el ratn para seleccionar una funcin de pertenencia
particular asociado con
una calidad determinada variable (como pobres, para la variable, servicio), y
luego arrastre
la funcin de pertenencia de lado a lado. Esto afectar a la matemtica
Descripcin de la calidad asociado con esa funcin de pertenencia para un
determinado
variable. La funcin de pertenencia seleccionada tambin se pueden etiquetar
para la dilatacin o

contraccin haciendo clic en los pequeos puntos de arrastre cuadrados en el


nmero de miembros
funcin y, a continuacin, arrastrando la funcin con el ratn hacia el exterior,
para la dilatacin, o hacia el interior , para la contraccin. Esto cambiar el
parmetros asociados con la funcin de pertenencia.
Por debajo de la paleta Variable hay alguna informacin sobre el tipo y el nombre
de la
variable actual. Hay un campo de texto en esta regin que le permite cambiar la
lmites de la gama de la variable actual (universo de discurso) y otro que
Le permite establecer los lmites de la trama actual (que no tiene ningn efecto
real sobre la
sistema).
El proceso de especificacin de las funciones de pertenencia de entrada para este
dos entradas
problema volquete es el siguiente:
Pgina 68

2
Tutorial
2-54
1
Seleccione la variable de entrada, servicio , haciendo doble clic sobre
l. Establecer tanto la
Rango y la Escala de pantalla para el vector
[0 10]
.
2
Seleccione Aadir los BM ... Del Editar men. La siguiente ventana se abra.
3
Utilice la pestaa desplegable para elegir gaussmf de MF Tipo y 3 para
el nmero de
MFS . Esto aade tres curvas gaussianas al servicio variable de entrada
4
Haga clic una vez en la curva con el extremo izquierdo de joroba . Cambiar el
nombre de la
curva de
pobre
. Para ajustar la forma de la funcin de pertenencia, ya sea para uso
el ratn, como se ha descrito anteriormente, o escribe en un cambio de parmetro
deseado y
a continuacin, haga clic en la funcin de pertenencia. La lista de parmetros por
defecto para

esta curva es
[1,5 0]
.
5
Nombre de la curva con la joroba media,
bueno
, Y la curva con el
joroba ms a la derecha,
excelente
. Restablecer los parmetros asociados si se desea.
6
Seleccione la variable de entrada, comida , haciendo clic sobre ella. Establecer
tanto el rango y la
Rango de la pantalla al vector
[0 10]
.
7
Seleccione Aadir los BM ... Del Editar men y aadir dos
trapmf
curvas a la
variable de entrada
comida
.
8
Haga clic una vez directamente en la curva con el trapazoid ms a la
izquierda. Cambiar el
nombre de la curva de
rancio
. Para ajustar la forma de la membresa
funcin, o bien utilizar el ratn, como se ha descrito anteriormente, o escribe en
una deseada
el cambio de parmetros y, a continuacin, haga clic en la funcin de
pertenencia. El valor por defecto
lista de parmetros para esta curva es
[0 0 1 3]
.
9
Nombrar la curva con el trapazoid ms a la derecha,
delicioso
Y restablecer el
parmetros asociados si se desea

Pgina 69

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-55
Lo siguiente que necesita para crear las funciones de pertenencia de la variable de
salida, de punta .
Para crear las funciones de pertenencia variables de salida, utilice la paleta
Variable
a la izquierda, la seleccin de la variable de salida, de punta . Las entradas vari
de 0 a 10,
pero la escala de salida va a ser una punta de entre 5 y 25 por ciento.
Utilice los tipos de funciones de pertenencia triangulares para la salida. En
primer lugar, establecer el rango
(y la Escala de pantalla ) para
[0 30]
, Para cubrir el rango de salida. Inicialmente, el
barato funcin de pertenencia tendr los parmetros
[0 5 10]
, El promedio
funcin de pertenencia ser
[10 15 20
], Y la generosa membresa
funcin ser
[20 25 30
]. El sistema debe ser algo como esto.
Ahora que las variables han sido nombrados, y las funciones de pertenencia
tienen
formas y nombres apropiados, ya est listo para escribir las reglas. Para llamar
el editor de reglas, vaya a la vista de men y seleccione Editar reglas ... , o
escribe
RuleEdit
en la lnea de comandos.
pgina 70

2
Tutorial
2-56
El editor de reglas
La construccin de reglas utilizando la interfaz grfica Editor de reglas es
bastante
evidente por s mismo. Sobre la base de las descripciones de las variables de
entrada y de salida

definido con el Editor de esqu alpino, el editor de reglas permite construir la


regla
declaraciones automticamente, haciendo clic en y seleccionando un elemento en
cada entrada
cuadro de la variable, un elemento de cada caja de salida, y un elemento de
conexin. La eleccin
ninguno como una de las cualidades variables excluir que variable de un dado
regla. La eleccin no bajo cualquier nombre de variable negar la calidad
asociada.
Las reglas pueden ser modificados, eliminados o aadidos, haciendo clic en el
botn correspondiente.
El editor de reglas tambin tiene algunos puntos de referencia familiares,
similares a los de la FIS
Redactor y editor de la membresa de funciones, incluyendo la barra de men y el
lnea de estado. El formato de men emergente est disponible desde
el Opciones desplegable
men en el men de la barra superior, esto se utiliza para establecer el formato de
la pantalla.
Los elementos de men permiten
guardar, abrir o
editar un sistema difuso
utilizando cualquiera de los cinco
herramientas bsicas de la GUI.
Esta lnea de estado
describe la mayora
reciente operacin.
Las reglas son
ingres
automticamente
mediante la GUI
herramientas
.
Crear o editar reglas con los botones de la GUI y
opciones de los mens de introduccin o seleccin de Salida.
enlace de entrada
declaraciones en reglas.
Negar la entrada o salida
declaraciones en reglas.
De entrada o de salida de seleccin de mens.
La Ayuda de botn
da cierta

Informacin sobre
cmo la regla
Editor funciona, y
el Primer botn
cierra la ventana.
pgina 71

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-57
Del mismo modo, Idioma se puede ajustar de debajo de las
opciones tambin. La Ayuda de botn
se abrir una ventana de ayuda de MATLAB.
Para insertar la primera regla en el Editor de reglas, seleccione lo siguiente:
pobres bajo la variable de servicio
rancia bajo la variable de alimentos
el botn de radio, o , en el Conexin de bloques
barato , bajo la variable de salida, de punta .
La norma resultante es:
1. Si (el servicio es pobre) o (comida es rancio) a continuacin (la punta es
barato) (1)
Los nmeros en los parntesis representan los pesos que se pueden aplicar a cada
descartar si se desea. Puede especificar los pesos tecleando un nmero deseado
entre cero y uno bajo el peso: ajuste. Si no se especifica ellos, el
pesos se supone que son la unidad
(1)
.
Seguir un procedimiento similar para insertar las reglas segunda y tercera en la
Regla
Editor para obtener:
1. Si (el servicio es pobre) o (comida es rancio) a continuacin (la punta es
barato) (1)
2. Si (el servicio es bueno) a continuacin (la punta es la media) (1)
3. Si (el servicio es excelente) o (comida es deliciosa) a continuacin (la punta es
generoso) (1)
Para cambiar una regla, primero haga clic en la regla que desea cambiar. Luego,
efecte el deseado
cambia a la regla y, a continuacin, haga clic en Cambiar regla . Por ejemplo,
para cambiar
la primera regla de
1. Si (servicio no pobres) o (comida no rancio) entonces (propina no es barato)
(1)

haga clic en no en cada una variable y, a continuacin, haga clic en Cambiar


regla .
El formato de men emergente de la Opciones de men indica que usted est
buscando
en el formulario detallado de las reglas. Pruebe a cambiar simblica . Ya vers
1. (servicio == pobres) => (punta = barato) (1)
2. (servicio == bueno) => (punta = promedio) (1)
3. (servicio excelente ==) => (punta = generoso) (1)
pgina 72

2
Tutorial
2-58
No hay mucha diferencia en la pantalla realmente, pero es un poco ms
un lenguaje neutro, ya que no depende de trminos como "si" y "entonces". Si
cambiar el formato de indexado, se ver una versin muy comprimida de la
reglas que ha exprimido todo el lenguaje a cabo.
1, 1 (1): 1
2, 2 (1): 1
3, 3 (1): 1
Esta es la versin de que la mquina se ocupa de. La primera columna de esta
estructura corresponde a la variable de entrada, la segunda columna corresponde
a
la variable de salida, la tercera columna muestra el peso aplicado a cada regla,
y la cuarta columna es la abreviatura que indica si se trata de una O (2)
descartar o un (1) Regla y. Los nmeros en las dos primeras columnas se refieren
al ndice
nmero de la funcin de pertenencia. Una interpretacin literal de la regla 1 es:
"si
entrada 1 es MF1 (la primera funcin de pertenencia asociado con la entrada 1) a
continuacin,
1 salida debe ser MF1 (la primera funcin de miembro asociado a la salida
1) con el peso 1. "Dado que slo hay una entrada para este sistema, la Y
conjuntivo que implica el 1 en la ltima columna es de ninguna consecuencia.
El formato simblica no se molesta con los trminos, si , a continuacin , y as
sucesivamente. los
formato indexado ni siquiera se molesta con los nombres de las variables.
Obviamente, la funcionalidad de su sistema no depende de lo bien que
han nombrado sus variables y funciones de pertenencia. El punto de
denominar las variables descriptiva es, como siempre, haciendo que el sistema
sea ms fcil para usted

interpretar. Por lo tanto, a menos que tenga algn propsito especial en mente, lo
har
probablemente sera ms fcil para que usted se pega con el prolijo formato.
En este punto, el sistema de inferencia borrosa ha sido completamente definido,
en ese
las variables, funciones de pertenencia, y las normas necesarias para el clculo de
consejos
estn en su lugar. Sera bueno, en este momento, para mirar un diagrama de
inferencia borrosa
como la que se presenta al final de la seccin anterior y verificar que
todo lo que se est comportando de la forma en que piensa que debera. Este es
exactamente el propsito
de theRuleViewer, thenextofthe GUItools we'lllookat. Desde la vista del men,
seleccione Ver reglas ... .
pgina 73

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-59
El Visor de Reglas
El Visor de reglas muestra una hoja de ruta de todo el proceso de inferencia
difusa. Sus
basado en el diagrama de inferencia borrosa se describe en la seccin anterior. Lo
ves
una sola ventana figura con 10 pequeas parcelas integradas en ella. Las tres
pequeas parcelas
a travs de la parte superior de la figura representan el antecedente y consecuente
de la primera
regla. Cada regla es una fila de parcelas, y cada columna es una variable. Los
primeros dos
columnas de parcelas (las seis parcelas amarillo) muestran las funciones de
pertenencia
al que hace referencia el antecedente, o la parte de si cada regla. La tercera
columna de
parcelas (las tres parcelas azul) muestra las funciones de pertenencia que hace
referencia el
consecuente, o el entonces parte de cada regla. Si hace clic una vez en un nmero
de la regla,
la norma correspondiente se mostrar en la parte inferior de la figura. Darse
cuenta de
Cada fila de parcelas
representa una regla (en este caso
Hay 3). Haga clic en una

gobernar para mostrarla en el


barra de estado.
Los elementos de men permiten
guardar, abrir o editar
un sistema difuso utilizando cualquier
de los cinco GUI bsico
herramientas.
Este campo de edicin que permite
ajustar la entrada
explcitamente.
Esta lnea de estado describe la operacin ms reciente.
Cada columna de parcelas (amarillo) muestra cmo
la variable de entrada se utiliza en las reglas. los
Los valores de entrada se muestran aqu en la parte superior.
Esta columna de parcelas (azul)
muestra cmo la variable de salida
se utiliza en las reglas.
Esta lnea ofrece una
defuzzificado valor.
La trama parte inferior derecha
muestra cmo la salida de
cada regla se combina con
hacer un agregado
de salida y luego
defuzzificados.
Cambiar las parcelas izquierda, derecha,
arriba o abajo con stos
botones.
Deslice esta lnea para cambiar
sus valores de entrada, y
generar una nueva salida
respuesta.
pgina 74

2
Tutorial
2-60
bajo alimentos , hay una trama que est en blanco. Esto corresponde a la
caracterizacin de ninguno para la variable de alimentos en la segunda regla. El
cuarto
parcela en la tercera columna de parcelas sea representativa de la decisin
ponderada total de

el sistema de inferencia dado. Esta decisin depender de los valores de entrada


para
el sistema.
Tambin existen los elementos ya conocidos como la lnea de estado y la barra de
mens. En
la parte inferior derecha hay un campo de texto en el que puede introducir datos
especficos
valores. Para el sistema de dos entradas, se entra en un vector de entrada,
[9 8]
, para
ejemplo y, a continuacin, haga clic en la entrada . Tambin puede ajustar estos
valores de entrada por
clic en cualquier lugar en cualquiera de los tres parcelas para cada entrada. Esto
mover el
lnea de ndice de color rojo horizontal, hasta el punto donde se ha hecho clic. T
tambin puedes
basta con hacer clic y arrastrar esta lnea con el fin de cambiar los valores de
entrada. Cuando t
liberar la lnea, (o despus de especificar manualmente la entrada), un nuevo
clculo es
realizado, y se puede ver todo el proceso de inferencia difusa tiene lugar.
Donde la lnea ndice representativo de servicio cruza la funcin de pertenencia
lnea de "servicio es deficiente" en el grfico superior izquierda va a determinar
el grado en el cual
una regla se activa. Un parche amarillo de color bajo la pertenencia real
curva de funcin se utiliza para hacer que el valor de pertenencia borrosa
visualmente aparente.
Cada una de las caracterizaciones de cada una de las variables se especifica con
respecto
a la lnea de ndice de entrada de esta manera. Si seguimos la regla 1 en la parte
superior de la
diagrama, podemos ver el consecuente "consejo es barato" se ha truncado
exactamente
el mismo grado que el (compuesto ) antecedente-este es el proceso de
implicacin
en accin. La agregacin se produce por la tercera columna, y el resultante
parcela agregada se muestra en la sola parcela que se encuentra en la esquina
inferior derecha
del campo de trama. El valor de salida defuzzificado se muestra por el paso lnea
gruesa
a travs del conjunto difuso agregado.

El Visor de Reglas permite interpretar todo el proceso de inferencia difusa en


una vez. El Visor de Reglas tambin muestra cmo la forma de cierta pertenencia
funciones influye en el resultado global. Ya que traza cada parte de cada regla,
puede llegar a ser difcil de manejar para los sistemas particularmente grandes,
pero, por una parte relativamente pequea
nmero de entradas y salidas, se realiza bien (dependiendo de la cantidad de
pantalla
el espacio que dedican a ella) con hasta 30 reglas y un mximo de 6 o 7 variables.
El Visor de Reglas muestra un clculo a la vez y con gran detalle. En esto
sentido, presenta una especie de vista micro del sistema de inferencia borrosa. si
tu quieres
para ver toda la superficie de salida de su sistema, es decir, todo el lapso de la
conjunto de salida en funcin de toda la expansin del conjunto de entrada, es
necesario abrir el
Visor de la superficie. Esta es la ltima de las cinco herramientas bsicas de la
GUI de la Lgica Difusa
Caja de herramientas, y lo abre al seleccionar Vista superficie ... de la vista del
men.
pgina 75

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-61
El Visor de superficie
Al abrir el Visor de superficie, se nos presenta con una de dos dimensiones
curva que representa la correspondencia entre la calidad del servicio a la punta
cantidad. Ya que
este es un caso de una salida de un impulso de entrada, podemos ver toda la
cartografa en una parcela.
sistemas de una salida de dos entradas tambin funcionan bien, ya que generan
grficos tridimensionales que MATLAB puede manejar con habilidad. Cuando
nos movemos
ms all de tres dimensiones generales, empezamos a encontrarse con problemas
para mostrar la
resultados. En consecuencia, el Visor de superficie est equipado con mens
emergentes que
permiten seleccionar cualquiera de las dos entradas y una salida para cualquier
trazado. Justo debajo de la
mens pop-up son dos campos de entrada de texto que le permiten determinar
cuntos eje x
y del eje y lneas de la cuadrcula que desee incluir. Esto le permite mantener la
tiempo de clculo razonable para problemas complejos. Al pulsar el Evaluar
botn inicia el clculo, y la trama aparece poco despus de la

clculo es completa. Para cambiar el eje X o eje y de rejilla despus de la


superficie es
Los elementos de men permiten
guardar, abrir o
editar un sistema difuso
utilizando cualquiera de los cinco
herramientas bsicas de la GUI.
Estos campos de edicin permiten
a determinar cmo
ajustadamente a la rejilla
espacio de entrada.
Estos mens emergentes
le permite especificar la
uno o dos visualizado
variables de entrada.
Este campo de edicin que permite
ajustar la entrada de forma explcita
para las entradas no especificada
en el diagrama de la superficie.
Esta lnea de estado describe la operacin ms reciente.
Utilizar el ratn para hacer girar los ejes.
Este grfico muestra el
superficie de salida para cualquier
salida del sistema
frente a una o dos
Entradas al sistema
Este men emergente le permite
se especifica el
salida que se visualiza
variable.
Pulse este botn cuando
ya est listo para
el clculo y la trama.
El botn Ayuda proporciona
alguna informacin
acerca de cmo la superficie
Visor funciona, y el
Cerrar botn se cierra el
ventana.
Pgina 76

Tutorial
2-62
a la vista, basta con modificar el campo de texto correspondiente y haga clic en
cualquiera de X-redes:
o Y-redes: , segn la cual el campo de texto que haya modificado, para volver a
dibujar la trama.
El Visor de superficie tiene una capacidad especial que es muy til en los casos
de
dos (o ms) entradas y una salida: en realidad se puede agarrar y los ejes
cambiar su posicin para obtener una vista tridimensional diferente en los
datos. Los Ref.
Entrada: campo se utiliza en situaciones en las que hay ms datos de entrada
requeridos por la
sistema que la superficie es la cartografa. Suponga que tiene una de cuatro
entradas de una sola salida
sistema y le gustara ver que la superficie de salida. El Visor de superficie puede
generar una superficie de salida tridimensional en la que dos de las entradas
puede variar,
pero dos de las entradas deben rendir constante desde los monitores de ordenador
no puede
mostrar una forma de cinco dimensiones. En tal caso, la entrada sera una
vector de cuatro dimensiones con
Yaya
s sosteniendo el lugar de las entradas varan mientras
valores numricos indicaran aquellos valores que permanecen fijas. Un
Yaya
es el
smbolo IEEE para "no es un nmero."
Esto concluye el recorrido rpido a travs de cada una de las principales
herramientas de la GUI. darse cuenta
que para el problema de inflexin, la salida del sistema difuso juego nuestra
idea original de la forma de la cartografa difusa de servicio a la punta bastante
bien.
En retrospectiva, se podra decir, "Por qu molestarse? Me podra haber
dibujado una rpida
Bsqueda en una tabla y se hizo hace una hora! "Sin embargo, si usted est
interesado en
la solucin de toda una clase de problemas de toma de decisiones similares, la
lgica difusa puede
proporcionar una herramienta apropiada para la solucin, dada su facilidad con la
que un sistema de

puede ser modificada rpidamente.


La importacin y exportacin de las herramientas GUI
Al guardar un sistema difuso en el disco, que est ahorrando un archivo de texto
ASCII FIS
representacin de ese sistema con el sufijo de archivo
.fis
. Este archivo de texto puede ser
editado y modificado y es sencillo de entender. Al guardar su difusa
sistema para el espacio de trabajo de MATLAB, que est creando una variable
(cuyo nombre se
elegir) que actuar como una estructura de MATLAB para el sistema de FIS. FIS
y archivos
estructuras FIS representan el mismo sistema.
Nota:
Si no guarda el FIS en el disco, pero slo guarda en la
MATLAB espacio de trabajo, usted no ser capaz de recuperarlo para su uso en
un nuevo
sesin de MATLAB.
Pgina 77

Sistemas de construccin con la caja de herramientas Lgica Difusa


2-63
Personalizacin del sistema Fuzzy
Si desea incluir funciones personalizadas como parte de su uso del Fuzzy
Caja de herramientas de la lgica, hay algunas pautas que debe seguir. El mtodo
y,
mtodo o, mtodo de agregacin, y el mtodo en defuzzification funciones que se
proporcionar necesidad de trabajar de una manera similar a la
max
,
min
o
pinchar
en MATLAB. Es decir,
deben ser capaces de operar por las columnas de una matriz. Por ejemplo, el
mtodo implicacin hace un elemento de operacin de matriz elemento, similar a
el
min
funcin, como en
a = [1 2; 3 4];
b = [2 2; 2 2];
min (a, b)

ans =
1
2
2
2
Las funciones de pertenencia personalizada
Puede crear sus propias funciones de pertenencia utilizando un archivo-M. Los
valores
estas funciones pueden tomar deben estar entre 0 y 1. Hay una limitacin en
personalizado funciones de pertenencia en la que no se puede usar ms de un 16
parmetros.
Para definir una funcin de pertenencia personalizada denominada
custmf
:
1
Crear un archivo-M para una funcin,
custmf.m
, Que toma valores entre 0 y
1, y depende de un mximo de 16 parmetros.
2
Elija el Aadir MF encargo elemento de la Editar men de la membresa
Funcin Editor GUI.
3
Introduzca su nombre de la funcin de archivo M de suscripciones personalizado,
custmf
, En el archivo-M
nombre de la funcin cuadro de texto.
4
Introducir el vector de parmetros que desea utilizar para parametrizar su
funcin de pertenencia personalizada en el cuadro de texto junto a la lista de
parmetros .
5
Dar la funcin de pertenencia personalizada un nombre diferente de cualquier
otro
pertenencia nombre de la funcin que va a utilizar en su FIS.
6
Seleccione Aceptar .
Pgina 78

2
Tutorial
2-64

Aqu hay un cdigo de ejemplo para una funcin de pertenencia de encargo,


testmf1
, ese
depende de ocho parmetros entre 0 y 10.
funcin a cabo testmf1 = (x, params)
para i = 1: longitud (x)
si x (i) <params (1)
y (i) = params (1);
elseif x (i) <params (2)
y (i) = params (2);
elseif x (i) <params (3)
y (i) = params (3);
elseif x (i) <params (4)
y (i) = params (4);
elseif x (i) <params (5)
y (i) = params (5);
elseif x (i) <params (6)
y (i) = params (6);
elseif x (i) <params (7)
y (i) = params (7);
elseif x (i) <params (8)
y (i) = params (8);
ms
y (i) = 0;
fin
fin
= y fuera .1 * ';
Usted puede tratar de nombrar este archivo
testmf1.m
y cargarlo en la membresa
Editor funcin utilizando los parmetros de su eleccin.
Pgina 79

Trabajando desde la lnea de comandos


2-65
Trabajando desde la lnea de comandos
El sistema de ejemplo de inclinar es uno de los muchos sistemas de inferencia
difusos ejemplo
proporcionado con la caja de herramientas Lgica Difusa. El FIS siempre est
echado como MATLAB
estructura. Para cargar este sistema (en lugar de molestarse con crendolo de
cero), el tipo de

a = readfis ( 'tipper.fis')
MATLAB responder con
a=
Nombre: 'volquete'
Tipo: 'Mamdani'
andMethod: 'min'
orMethod: 'max'
defuzzMethod: 'centro de gravedad'
impMethod: 'min'
aggMethod: 'max'
entrada: [struct 1x2]
Salida: [1x1 struct]
regla: [1x3 struct]
Las etiquetas de la izquierda de este listado representan los diversos componentes
de la
estructura MATLAB asociado con
tipper.fis.
Se puede acceder a los distintos
componentes de esta estructura escribiendo el nombre del componente despus
de escribir
un
.A
la lnea de comandos de MATLAB, Tipo
un tipo
por ejemplo. MATLAB responder con
ans =
Mamdani
La funcin
getfis (a)
devuelve casi la misma estructura que la informacin a escribir
un
, Solo lo hace.
getfis (a)
devoluciones
Nombre
= volquete
Type = Mamdani
pgina 80

2
Tutorial
2-66

NumInputs = 2
InLabels =
Servicio
comida
NumOutputs = 1
OutLabels =
propina
NumRules = 3
AndMethod = min
OrMethod = max
ImpMethod = min
AggMethod = max
DefuzzMethod = centroide
Ntese que algunos de estos campos no son parte de la estructura,
un
. Por lo tanto, se
no se puede obtener informacin escribiendo
a.Inlabels,
pero se puede obtener tecleando:
getfis (a, '' Inlabels)
Del mismo modo, se puede obtener informacin de la estructura utilizando
getfis
de esta forma.
getfis (a, 'de entrada', 1)
getfis (a, 'salida', 1)
getfis (a, 'de entrada', 1, 'mf', 1)
los
structure.field
sintaxis tambin genera esta informacin. Para ms
informacin sobre la sintaxis de las estructuras de MATLAB, vase el captulo 13
", Estructuras
y matrices celulares, "en Utilizacin de MATLAB .
Por ejemplo, el tipo de
a.input
o
a.input (1) .MF (1)
La funcin
getfis
est basado libremente en los grficos de la manija

funcin

obtener
.
Tambin hay una funcin llamada
setfis
que acta como el recproco de
getfis
. Eso
le permite cambiar cualquier propiedad de un FIS. Por ejemplo, si desea
cambiar el nombre de este sistema, puede escribir
a = setfis (a, 'nombre', 'propina');
pgina 81

Trabajando desde la lnea de comandos


2-67
Sin embargo, puesto
un
es ya una estructura de MATLAB, puede configurar esta informacin
ms simplemente escribiendo
a.name = 'propina';
Ahora la estructura FIS
un
se ha cambiado para reflejar el nuevo nombre. si tu quieres
un poco ms de comprensin de esta estructura de esqu alpino, tratar
showfis (a)
Esto devuelve una copia de este listado toda la informacin acerca
un
. Esta funcin es
destinado para la depuracin ms que cualquier otra cosa, pero muestra todo el
informacin registrada en la estructura FIS
Puesto que la variable,
un,
designa el sistema de volcado difusa, puede llamar a cualquier
de las interfaces grficas de usuario para el sistema de volcado directamente
desde la lnea de comandos. Cualquiera de los
siguiente para abrir el sistema de volcado con la interfaz grfica de usuario
asociado.

difusa (a)
: Aparecer el Editor de FIS

mfedit (a)
: Aparecer el Editor de afiliacin Funcin


RuleEdit (a)
: Abre el editor de reglas

ruleview (a)
: trae a colacin
el
Regla Visor

SURFVIEW (a)
: trae a colacin
el
Visor de superficie
Si, adems,
un
es un tipo Sugeno de esqu alpino, a continuacin,
anfisedit (a)
para abrir el
ANFIS Editor GUI.
Una vez que cualquiera de estas interfaces grficas de usuario se ha abierto,
puede acceder a cualquiera de las otras interfaces grficas de usuario
utilizando el men desplegable en lugar de la lnea de comandos.
Funciones de la pantalla del sistema
Hay tres funciones diseadas para darle una visin de alto nivel de su difusa
sistema de inferencia a partir de la lnea de comandos:
plotfis
,
plotmf
y
gensurf
. los
pgina 82

2
Tutorial
2-68
primera de estas pantallas todo el sistema como un diagrama de bloques tanto
como lo hara
aparecer en el Editor de esqu alpino.
plotfis (a)
Despus de cerrar las cifras o GUI de MATLAB ventanas abiertas, la funcin
plotmf

parcelas todas las funciones de pertenencia asociados con una variable dada
como sigue:
plotmf (a, 'de entrada', 1)
devoluciones
Pgina 83

Trabajando desde la lnea de comandos


2-69
plotmf (a, 'salida', 1)
Estas parcelas aparecern en la interfaz grfica de usuario Editor de afiliacin de
funciones, o de una manera abierta
MATLAB figura, si
plotmf
se llama mientras que ninguno de ellos es abierto.
0
1
2
3
4
5
6
7
8
9
10
0
0,2
0,4
0,6
0,8
1
Servicio
Grado de pertenencia
pobre
bueno
excelente
0
5
10
15
20
25

30
0
0,2
0,4
0,6
0,8
1
propina
Grado de pertenencia
barato
promedio
generoso
pgina 84

2
Tutorial
2-70
Finalmente, la funcin
gensurf
trazar las una o dos entradas frente a cualquiera
de salida de un sistema dado. El resultado es o bien una curva de dos
dimensiones, o una
superficie tridimensional. Tenga en cuenta que cuando hay tres o ms entradas,
gensurf
debe ser generado con todos menos dos entradas fijas, como se describe en el
descripcin de
genfis
en el captulo 3, "Referencia" .
gensurf (a)
La construccin de un sistema desde cero
Es posible usar la Lgica Difusa Caja de herramientas sin molestarse con la GUI
herramientas en absoluto. Por ejemplo, para construir el sistema de volcado por
completo de la
lnea de comandos, que utilizara los comandos
newfis
,
addvar
,
addmf
y
addrule
.

Probablemente la parte ms difcil de este proceso es el aprendizaje de la


taquigrafa que la
sistemas de inferencia difusos utilizan para las reglas de construccin. Esto se
logra utilizando la
funcin de lnea de comandos,
addrule
.
Cada variable, entrada o de salida, tiene un nmero de ndice, y cada suscripcin
funcin tiene un nmero de ndice. Las reglas se construyen a partir de
declaraciones como esta
si es INPUT1 o INPUT2 MF1 es MF3 entonces output1 es MF2 (peso = 0,5)
Esta regla se convierte en una estructura de acuerdo con la siguiente lgica: si
hay
m entradas a un sistema y n salidas, entonces el primer m entradas vector de la
regla
estructura corresponde a las entradas 1 a m . La entrada en la columna 1 es el
ndice
nmero de la funcin de pertenencia asociado con la entrada 1. La entrada en
0
2
4
6
8
10
0
2
4
6
8
10
5
10
15
20
25
Servicio
comida
propina
pgina 85

Trabajando desde la lnea de comandos


2-71

columna 2 es el nmero de ndice de la funcin de pertenencia asociado con


entrada 2. Y as sucesivamente. Los prximos n columnas funcionan de la misma
manera para las salidas.
Columna m + n + 1 es el peso asociado con la regla (tpicamente 1) y
columna de m + n + 2 especifica el trmino de enlace utilizado (donde Y = 1 y
OR = 2).
La estructura asociada con la regla anterior es
1 3 2 2 0,5
Esta es una manera usted puede construir todo el sistema de inflexin a partir del
comando
lnea, usando la sintaxis de la estructura de MATLAB.
a = newfis ( 'volquete');
a.input (1) .name = "servicio";
a.input (1) .Range = [0 10];
a.input (1) .MF (1) .name = "pobre";
a.input (1) .MF (1) .type = 'gaussmf';
a.input (1) .MF (1) .params = [1,5 0];
a.input (1) .MF (2) .name = "bueno";
a.input (1) .MF (2) .type = 'gaussmf';
a.input (1) .MF (2) .params = [1,5 5];
a.input (1) .MF (3) .name = "excelente";
a.input (1) .MF (3) .type = 'gaussmf';
a.input (1) .MF (3) .params = [1,5 10];
a.input (2) .name = "alimento";
a.input (2) .Range = [0 10];
a.input (2) .MF (1) .name = 'rancio';
a.input (2) .MF (1) .type = 'trapmf';
a.input (2) .MF (1) .params = [- 2 0 1 3];
a.input (2) .MF (2) .name = 'deliciosa';
a.input (2) .MF (2) .type = 'trapmf';
a.input (2) .MF (2) .params = [7 9 10 12];
a.output (1) .name = 'punta';
a.output (1) .Range = [0 30];
a.output (1) .MF (1) .name = "barato"
a.output (1) .MF (1) .type = 'trimf';
a.output (1) .MF (1) .params = [0 5 10];
a.output (1) .MF (2) .name = "medio";
a.output (1) .MF (2) .type = 'trimf';
a.output (1) .MF (2) .params = [10 15 20];
a.output (1) .MF (3) .name = "generosa";
a.output (1) .MF (3) .type = 'trimf';

pgina 86

2
Tutorial
2-72
a.output (1) .MF (3) .params = [20 25 30];
a.rule (1) .antecedent = [1 1];
a.rule (1) .consequent = [1];
a.rule (1) .Weight = 1;
a.rule (1) .connection = 2;
a.rule (2) .antecedent = [2 0];
a.rule (2) .consequent = [2];
a.rule (2) .Weight = 1;
a.rule (2) .connection = 1;
a.rule (3) .antecedent = [3 2];
a.rule (3) .consequent = [3];
a.rule (3) .Weight = 1;
a.rule (3) .connection = 2
Por otra parte, aqu es cmo se puede construir todo el sistema de volcado de la
lnea de comandos mediante comandos Fuzzy Toolbox lgica.
a = newfis ( 'volquete');
a = addmf (a, 'de entrada', 1, "servicio", [10 0]);
a = addmf (a, 'de entrada', 1, 'pobres', 'gaussmf', [1,5 0]);
a = addmf (a, 'de entrada', 1, 'bueno', 'gaussmf', [1,5 5]);
a = addmf (a, 'de entrada', 1, 'excelente', 'gaussmf', [1,5 10]);
a = addvar (a, "entrada", "comida", [10 0]);
a = addmf (a, 'de entrada', 2 'rancio', 'trapmf', [- 2 0 1 3]);
a = addmf (a, 'de entrada', 2 'delicioso', 'trapmf', [7 9 10 12]);
a = addvar (a, 'salida', 'punta', [0 30]);
a = addmf (a, 'salida', 1, 'barato', 'trimf', [0 5 10]);
a = addmf (a, 'salida', 1, 'media', 'trimf', [10 15 20]);
a = addmf (a, 'salida', 1, 'generoso', 'trimf', [20 25 30]);
ruleList = [...
11112
20211
3 2 3 1 2];
a = addrule (a, ruleList);
Pgina 87

Trabajando desde la lnea de comandos


2-73
Evaluacin FIS

Para evaluar la salida de un sistema difuso para una entrada dada, utilice la
funcin
evalfis
. Por ejemplo, la siguiente secuencia de comandos evala
volquete
en la entrada, [1 2].
a = readfis ( 'volquete');
evalfis ([1 2], a)
ans =
5.5586
Esta funcin tambin se puede utilizar para mltiples colecciones de entradas, ya
que diferentes
vectores de entrada estn representadas en diferentes partes de la estructura de
entrada. Haciendo
mltiples evaluaciones a la vez, se obtiene un gran impulso en la velocidad.
evalfis ([3 5; 2 7], a)
ans =
12.2184
7.7885
La estructura FIS
La estructura FIS es el objeto de MATLAB que contiene toda la inferencia difusa
informacin del sistema. Esta estructura se almacena dentro de cada herramienta
de interfaz grfica de usuario. Acceso
funciones tales como
getfis
y
setfis
hacen que sea fcil para examinar esta estructura.
Tambin puede acceder a la informacin de estructura FIS usando el
structure.field
la sintaxis (ver la seccin "Trabajando desde la lnea de comandos" en la pgina
2-65) .
Toda la informacin para un sistema de inferencia borrosa dado est contenida en
el FIS
estructura, incluyendo los nombres de variables, definiciones de funciones de
pertenencia, y por lo
pgina 88

2
Tutorial
2-74

en. Esta estructura puede por s mismo ser pensado como una jerarqua de
estructuras, como se muestra
en el siguiente diagrama:
Puede generar una lista de informacin sobre el FIS usando el
showfis
de comandos, como se muestra a continuacin.
showfis (a)
1. Nombre
volquete
2. Tipo
Mamdani
3. Entradas / Salidas [2 1]
4. NumInputMFs [3] 2
5. NumOutputMFs 3
6. NumRules 3
7. AndMethod min
8. OrMethod mximo
9. ImpMethod min
10. AggMethod mximo
11. centroide DefuzzMethod
12. Servicio InLabels
13.
comida
14. punta OutLabels
FIS
nombre
tipo
andMethod
orMethod
defuzzMethod
impMethod
aggMethod
entrada
salida
regla
entrada
nombre
distancia
mf
reglas
antecedente

consiguiente
peso
conexiones
INPUT1 FMs
nombre
tipo
params
FMs de salida
nombre
tipo
params
salida
nombre
distancia
mf
INPUT2 FMs
nombre
tipo
params
pgina 89

Trabajando desde la lnea de comandos


2-75
15. InRange
[0 10]
diecisis.
[0 10]
17. superar en el alcance de tiro
[0 30]
18. InMFLabels
pobre
19.
bueno
20.
excelente
21.
rancio
22.
delicioso
23. OutMFLabels
barato
24.

promedio
25.
generoso
26. InMFTypes
gaussmf
27.
gaussmf
28.
gaussmf
29.
trapmf
30.
trapmf
31. OutMFTypes
trimf
32.
trimf
33.
trimf
34. InMFParams
[1,5 0 0 0]
35.
[1,5 5 0 0]
36.
[1.5 10 0 0]
37.
[0 0 1 3]
38.
[7 9 10 10]
39. OutMFParams
[5 0 10 0]
40.
[10 15 20 0]
41.
[20 25 30 0]
42. Regla Antecedente [1 1]
43.
[2 0]
44.
[3 2]
Regla 42. Consecuente 1

43.
2
44.
3
42. Regla Peso
1
43.
1
44.
1
42. Regla de conexin 2
43.
1
44.
2
Pgina 90

2
Tutorial
2-76
La lista de funciones de lnea de comandos asociados a la construccin FIS
incluye
getfis
,
setfis
,
showfis
,
addvar
,
addmf
,
addrule
,
rmvar
y
rmmf
.
FIS ahorro de archivos en el disco
Un formato de archivo de texto especializado se utiliza para guardar los sistemas
de inferencia difusos a una
disco. Las funciones

readfis
y
writefis
se utilizan para la lectura y la escritura
estos archivos.
Si lo prefiere, puede modificar los FIS mediante la edicin de su
.fis
archivo de texto en lugar de
utilizando cualquiera de los interfaces grficas de usuario. Debe tener en cuenta,
sin embargo, que el cambio de una entrada
puede obligar a cambiar a otra. Por ejemplo, si elimina una calidad de miembro
funcin utilizando este mtodo, tambin hay que asegurarse de que las normas
que requiere esta funcin de pertenencia tambin se eliminan.
Las reglas aparecen en el formato "indexado" en una
.fis
Archivo de texto. Aqu est el archivo
tipper.fis
.
[Sistema]
Name = 'volquete'
Type = 'Mamdani'
NumInputs = 2
NumOutputs = 1
NumRules = 3
AndMethod = 'min'
OrMethod = "max"
ImpMethod = 'min'
AggMethod = "max"
DefuzzMethod = 'centroide'
[Entrada 1]
Name = "servicio"
Rango = [0 10]
NumMFs = 3
MF1 = 'pobres': 'gaussmf', [1,5 0]
MF2 = 'buena': 'gaussmf', [1,5 5]
MF3 = 'excelente': 'gaussmf', [1,5 10]
[Entrada2]
Name = "alimento"
Rango = [0 10]
NumMFs = 2
Pgina 91

Trabajando desde la lnea de comandos


2-77
MF1 = 'rancio': 'trapmf', [0 0 1 3]
MF2 = 'deliciosa': 'trapmf', [7 9 10 10]
[Output1]
Nombre 'punta' =
Rango = [0 30]
NumMFs = 3
MF1 = 'barato': 'trimf', [0 5 10]
MF2 = 'normal': 'trimf', [10 15 20]
MF3 = 'generosa': 'trimf', [20 25 30]
[Reglas]
1 1, 1 (1): 2
2 0, 2 (1): 1
3 2, 3 (1): 2
pgina 92

2
Tutorial
2-78
Trabajando con Simulink
La Caja de herramientas de la lgica difusa ha sido diseado para funcionar
perfectamente con Simulink, el
software de simulacin disponible de The MathWorks. Una vez que haya creado
su
sistema difuso usando las herramientas de la GUI o algn otro mtodo, ya est
listo para empotrar
su sistema directamente en una simulacin.
Un ejemplo: Control de Nivel de Agua
Imagen de un tanque con un tubo que entra y que sale una tubera. Tu puedes
cambiar
la vlvula que controla el agua que fluye en, pero la tasa de flujo de salida
depende de
el dimetro de la tubera de salida (que es constante) y la presin en el
tanque (que vara con el nivel del agua). El sistema tiene algunos muy no lineal
caractersticas.
Un controlador para el nivel de agua en el tanque necesita saber el agua corriente
nivel y tiene que ser capaz de configurar la vlvula. de entrada de nuestro
controlador ser el
error de nivel de agua (menos el nivel de agua real nivel de agua deseado) y su
salida

ser la velocidad a la que la vlvula se abre o cierra. Un primer paso en la


escritura
un controlador difuso para este sistema podra ser el siguiente.
1. Si (nivel est bien), entonces (vlvula es no_change) (1)
2. Si (nivel es bajo) a continuacin (la vlvula es open_fast) (1)
3. Si (nivel es alto) a continuacin (la vlvula es close_fast) (1)
Una de las grandes ventajas de la Lgica Difusa caja de herramientas es la
capacidad de tomar
sistemas difusos directamente en Simulink y ponerlas a prueba en una simulacin
ambiente. Un diagrama de bloques Simulink para este sistema se muestra a
continuacin. Eso
Pgina 93

Trabajando con Simulink


2-79
contiene un bloque de Simulink llamado el bloque del Controlador de Lgica
Difusa. los
diagrama de bloques Simulink para este sistema es
sltank
. Mecanografa
sltank
en la lnea de comandos, hace que el sistema aparecer.
Al mismo tiempo, el archivo
tank.fis
se carga en la estructura FIS
tanque
.
pgina 94

2
Tutorial
2-80
Alguna experimentacin muestra que tres reglas no son suficientes, ya que el
el nivel del agua tiende a oscilar en torno al nivel deseado. Esto se ven desde la
parcela
abajo.
Tenemos que aadir otra entrada, velocidad de cambio del nivel del agua, para
reducir la velocidad
el movimiento de la vlvula cuando nos acercamos al nivel adecuado.
4. Si (nivel es bueno) y (tasa es negativo), entonces (vlvula es close_slow) (1)
5. Si (nivel es bueno) y (tasa es positivo), entonces (vlvula es open_slow) (1)
La demostracin,

sltank
est construido con estas cinco reglas. Puede examinar con los cinco
normas en las operaciones, la respuesta al escaln mediante la simulacin de este
sistema. Esto esta hecho
haciendo clic en Inicio en el men desplegable bajo Simular y hacer clic en
la comparacin de bloques. El resultado es el siguiente
Una caracterstica interesante del sistema de depsito de agua es que el tanque se
vaca mucho
ms lentamente de lo que se llena por el valor especfico del dimetro de salida
tubo. Podemos hacer frente a esto estableciendo el nmero de miembros de la
vlvula close_slow
funcin sea ligeramente diferente de la configuracin open_slow. Un controlador
PID
no tiene esta capacidad. El comando de la vlvula en comparacin con el nivel de
agua
0
10
20
30
40
50
60
70
80
90
100
0
0,2
0,4
0,6
0,8
1
1.2
1.4
1.6
1.8
2
Tiempo (segundos)
0
10
20

30
40
50
60
70
80
90
100
0
0,2
0,4
0,6
0,8
1
1.2
1.4
1.6
1.8
2
Tiempo (segundos)
pgina 95

Trabajando con Simulink


2-81
tasa de cambio (representado como el agua ) y el cambio en el nivel relativo de
agua (representado
como nivel de ) la superficie se parece a esto. Si se mira de cerca, se puede ver un
ligero
la asimetra de la trama.
Debido a que el entorno de clculo tcnico de MATLAB soporta tantos
herramientas (como el sistema de control de la caja de herramientas, la caja de
herramientas de red neuronal, la
No lineal Control de Diseo Blockset, etc.), se puede, por ejemplo, fcilmente
hacer una comparacin de un controlador difuso frente a un controlador lineal o
un neural
controlador de red.
Para una demostracin de cmo el Visor de Reglas se puede usar para interactuar
con una
bloque del Controlador de Lgica Difusa en un modelo Simulink, Tipo
sltankrule
Esta demo contiene un bloque llamado el controlador borroso Con bloque de
Visor de Reglas.

En esta demostracin, el Visor de Reglas se abre al iniciar la simulacin


Simulink.
Este Visor de Reglas ofrece una animacin de cmo las reglas se disparan
durante el
-1
-0.5
0
0,5
1
-0.1
-0.05
0
0.05
0,1
-0.8
-0.6
-0.4
-0.2
0
0,2
0,4
0,6
0,8
nivel
agua
vlvula
pgina 96

2
Tutorial
2-82
la simulacin del tanque de agua. Las ventanas que se abren cuando se simula la
sltankrule
de demostracin se representan como sigue:
El visor de la regla que se abre durante la simulacin se puede utilizar para
acceder a la
La membresa funcin de editor, el editor de reglas, o cualquiera de las otras
interfaces grficas de usuario, (vase
"La funcin de editor de miembro" en la pgina 2-52, o "El editor de reglas" en la
pgina
2-56 , para obtener ms informacin).

pgina 97

Trabajando con Simulink


2-83
Por ejemplo, es posible que desee para abrir el editor de reglas para cambiar una
de sus reglas.
Para ello, seleccione la normativa Editar elemento de men en el Vista men
del abierto
Regla Visor. Ahora se puede ver o editar las reglas para este modelo de Simulink:
Es mejor si se detiene la simulacin antes de seleccionar cualquiera de estos
editores
cambiar la FIS. No olvide guardar los cambios realizados en el FIS a la
espacio de trabajo antes de reiniciar la simulacin.
La construccin de sus propios modelos de Simulink Fuzzy
Para construir sus propios sistemas de Simulink que utilizan la lgica difusa,
simplemente copia el Fuzzy
Controlador lgico de bloquear
sltank
(O cualquiera de los otros de demostracin Simulink
sistemas disponibles con la caja de herramientas) y lo coloca en su propio
diagrama de bloques. T
Tambin puede abrir la biblioteca Simulink llamada
fuzblock
, Que contiene el Fuzzy
bloque del Controlador de Lgica, el controlador difuso Con bloque de Visor de
Reglas, y
varios bloques de demostracin. Para acceder a estos bloques, tipo de
fuzblock
pgina 98

2
Tutorial
2-84
en el indicador de MATLAB. La biblioteca siguiente aparece:
Al utilizar estos bloques, asegrese de que el sistema de inferencia borrosa (FIS)
estructura correspondiente a su sistema difuso es a la vez en el MATLAB
espacio de trabajo, y se refiri a por su nombre en el cuadro de dilogo asociado
con el Fuzzy
bloque del Controlador de Lgica.
Haga doble clic en el bloque controlador borroso Con Visor de Reglas, y la
siguiente
aparece:
Este bloque utiliza el mtodo de retencin de orden cero para el muestreo.

El bloque controlador lgico Fuzzy es un bloque de Simulink enmascarada en


base a la
S-funcin
sffis.mex
. Esta funcin se basa en s mismos algoritmos que las
la funcin
evalfis
, Pero se ha adaptado para funcionar de forma ptima dentro de la
pgina 99

Trabajando con Simulink


2-85
ambiente Simulink. Para ms descripciones de estos, vase
fuzblock
en la pgina
3-27 , y
sffis
en la pgina 3-65.
pgina 100

2
Tutorial
2-86
Sugeno-Inferencia Difusa
El proceso de inferencia borrosa que hemos estado refiriendo a la medida que se
conoce como
mtodo de inferencia borrosa de Mamdani. Es el ms comnmente visto difusa
metodologa. En esta seccin se discuten la llamada Sugeno, o
mtodo de Takagi-Sugeno-Kang de inferencia borrosa introdujo por primera vez
en 1985
[Sug85]. Es similar al mtodo de Mamdani en muchos aspectos. De hecho la
primera
dos partes del proceso de inferencia difusa, fuzzifying los insumos y la aplicacin
de la
operador borroso, son exactamente los mismos. La diferencia principal entre
Mamdani-tipo de inferencia borrosa y Sugeno-tipo es que la salida
funciones de pertenencia son solamente lineal o constante para Sugeno de tipo
difuso
inferencia.
Una regla difusa tpico en un orden cero modelo difuso Sugeno tiene la forma
Si x es A y Y es B entonces z = k

donde A y B son conjuntos difusos en el antecedente, mientras que k es un


quebradizo define
constante en el consecuente. Cuando la salida de cada regla es una constante de
este tipo,
la similitud con el mtodo de Mamdani es sorprendente. Las nicas diferencias
son el
hecho de que todas las funciones de pertenencia de salida son nicos picos, y la
mtodos de implicacin y de agregacin son fijos y no se pueden editar. los
mtodo de implicacin es simplemente la multiplicacin, y el operador
simplemente la agregacin
incluye todos los singletons.
pgina 101

Sugeno-Inferencia Difusa
2-87
La figura anterior muestra el modelo de inflexin difusa desarrollado en las
secciones anteriores
de este manual adaptado para su uso como un sistema de Sugeno de orden
cero. Afortunadamente es
con frecuencia el caso de que las funciones de salida simples son totalmente
suficientes para
las necesidades de un determinado problema. A modo de ejemplo, el sistema de
tippersg.fis
es el
De tipo Sugeno representacin del modelo de inflexin ya familiar. Si carga el
5. Defuzzify
(ponderado
promedio)
4. Aplicar
agregacin
mtodo (max).
2. Aplicar
borroso
operacin
(OR = max)
1. Entradas Fuzzify
3. Aplicar
implicacin
mtodo (min).
delicioso
promedio
bueno

excelente
rancio
barato
pobre
generoso
comida = 8
entrada 2
salida
Regla 2 tiene
ninguna dependencia
en la entrada 2
punta = 16,3%
servicio = 3
entrada 1
Si
el servicio es deficiente
comida es rancio
punta = barato
entonces
o
Si
el servicio es bueno
entonces
punta = promedio
Si el servicio es excelente
la comida es deliciosa
entonces
o
punta = generosa
1.
2.
3.
Pgina 102

2
Tutorial
2-88
sistema y trazar su superficie de salida, se ve que es casi la misma que la
Mamdani sistema que hemos estado viendo.
a = readfis ( 'tippersg');
gensurf (a)
El ms general de primer orden Sugeno modelo difuso tiene reglas de la forma

Si x es A y Y es B entonces z = p * x + q * y + r
donde A y B son conjuntos difusos en el antecedente, mientras que p , q , y r son
todos
constantes. La forma ms fcil de visualizar el sistema de primer orden es pensar
en cada
gobernar como la definicin de la ubicacin de un "producto nico en
movimiento". Es decir, el singleton
picos de salida pueden moverse de forma lineal en el espacio de salida,
dependiendo de lo que es la entrada. Esto tambin tiende a hacer que la notacin
sistema
muy compacto y eficiente. modelos difusos Superior Sugeno fin son posibles,
pero
introducen una complejidad significativa con poco mrito obvio. Sugeno difusa
modelos cuyas funciones de pertenencia de salida son mayores de primer orden
no son
con el apoyo de la Caja de herramientas de la lgica difusa.
Debido a la dependencia lineal de cada regla en variables de entrada del sistema,
el mtodo de Sugeno es ideal para actuar como un supervisor de la interpolacin
de mltiples
controladores lineales que se han de aplicar, respectivamente, a diferentes
operativo
condiciones de un sistema no lineal dinmica. Por ejemplo, el rendimiento de una
aeronave puede cambiar dramticamente con la altura y el nmero de
Mach. Lineal
controladores, aunque fcil de calcular y muy adecuado para un vuelo
determinado
condicin, se debe actualizar con regularidad y sin problemas para mantenerse al
da con el
el cambio de estado del vehculo de vuelo. Un sistema de inferencia borrosa
Sugeno es
0
2
4
6
8
10
0
2
4
6
8

10
10
15
20
Servicio
comida
propina
Pgina 103

Sugeno-Inferencia Difusa
2-89
extremadamente bien adaptado a la tarea de interpolacin sin problemas las
ganancias lineales
que se aplicara a travs del espacio de entrada; es una ganancia natural y eficaz
planificador. Del mismo modo, un sistema de Sugeno es adecuado para sistemas
no lineales de modelado
mediante la interpolacin de mltiples modelos lineales.
Un ejemplo: dos lneas
Para ver un ejemplo especfico de un sistema con funciones de pertenencia de
salida lineal,
considerar el sistema una salida de una entrada almacenada en
sugeno1.fis
.
fismat = readfis ( 'sugeno1');
getfis (fismat, 'salida', 1)
Nombre = salida
NumMFs = 2
MFLabels =
lnea 1
lnea 2
Rango = [0 1]
La variable de salida tiene dos funciones de pertenencia:
getfis (fismat, 'salida', 1, 'mf', 1)
Name = lnea 1
Type = lineal
params =
-1 -1
getfis (fismat, 'salida', 1, 'mf', 2)
Name = lnea 2
Type = lineal
params =
1 -1

Adems, estas funciones de pertenencia son funciones lineales de la variable de


entrada.
La funcin de pertenencia
lnea 1
se define por la ecuacin
salida = (-1) * entrada + (-1)
y la funcin de pertenencia
lnea 2
se define por la ecuacin
salida = (1) * entrada + (-1)
pgina 104

2
Tutorial
2-90
Las funciones y las normas de adhesin de entrada definen cules de ellas de
salida
funciones se expresarn y cundo.
showrule (fismat)
ans =
1. Si (entrada es baja), entonces (la salida es lnea 1) (1)
2. Si (entrada es alta), entonces (la salida es la lnea 2) (1)
La funcin
plotmf
nos muestra que la funcin de pertenencia
bajo
en general
se refiere a los valores de entrada menor que cero, mientras
alto
se refiere a valores mayores de
cero. La funcin
gensurf
muestra cmo los interruptores de salida global del sistema difuso
sin problemas desde la lnea de llamada
lnea 1
a la lnea de llamada
lnea 2
.
subtrama (2,1,1), plotmf (fismat, "entrada", 1)
subtrama (2,1,2), gensurf (fismat)
Este es slo un ejemplo de cmo un sistema de tipo Sugeno le da la libertad de
incorporar sistemas lineales en sus sistemas difusos. Por extensin, se poda

construir un sistema difuso que permite cambiar entre varios controladores


lineales ptimos
como un sistema altamente no lineal se mueve en su espacio operativo.
Conclusin
Debido a que es una representacin ms compacta y eficiente que
computacionalmente
un sistema de Mamdani, el sistema Sugeno se presta a la utilizacin de
adaptacin
tcnicas para la construccin de modelos difusos. Estas tcnicas pueden ser
adaptativas
utilizada para personalizar las funciones de pertenencia de modo que el sistema
difuso mejor
modelos de los datos.
-5
-4
-3
-2
-1
0
1
2
3
4
5
0
0,2
0,4
0,6
0,8
1
entrada
Grado de creencia
bajo
alto
-5
-4
-3
-2
-1
0
1

2
3
4
5
-1
0
1
2
3
4
entrada
salida
pgina 105

Sugeno-Inferencia Difusa
2-91
Nota sobre la conversin de esqu alpino:
La funcin de lnea de comandos de MATLAB
mam2sug
poder
puede utilizar para convertir un sistema de Mamdani en un sistema Sugeno (no
necesariamente
con una nica salida) con funciones de pertenencia de salida constante. Se utiliza
el
centroide asociado con todas las funciones de pertenencia de salida de la
sistema de Mamdani. Vase el Captulo 3 para ms detalles.
Estas son algunas consideraciones finales sobre los dos mtodos diferentes:
Las ventajas del mtodo Sugeno
Es computacionalmente eficiente.
Funciona bien con las tcnicas lineales (por ejemplo, el control PID).
Funciona bien con la optimizacin y tcnicas de adaptacin.
Se ha garantizado la continuidad de la superficie de salida.
Se adapta bien al anlisis matemtico.
Ventajas del mtodo de Mamdani
Es intuitivo.
Dispone de una amplia aceptacin.
Se adapta bien a la intervencin humana.
pgina 106

2
Tutorial
2-92

ANFIS y la GUI Editor ANFIS


La estructura bsica del tipo de sistema de inferencia borrosa que hemos visto
hasta
ahora es un modelo que asigna caractersticas de entrada de funciones de
pertenencia de entrada,
entrada de funcin de pertenencia a las normas, las reglas a un conjunto de
caractersticas de salida,
caractersticas de salida a las funciones de pertenencia de salida, y la salida
funcin de pertenencia a una salida de un solo valor o una decisin asociada con
La salida. Slo hemos considerado funciones de pertenencia que han sido
fijo, y un tanto arbitrariamente elegido. Adems, slo hemos aplicado difusa
inferencia de sistemas de modelizacin cuya estructura es esencialmente la regla
predeterminado por la interpretacin del usuario de las caractersticas de la
variables en el modelo.
En esta seccin se discute el uso de la funcin
ANFIS
y el Editor ANFIS
Interfaz grfica de usuario en el cuadro de herramientas Lgica Difusa. Estas
herramientas se aplican tcnicas de inferencia difusos
para el modelado de datos. Como se ha visto desde los otros interfaces grficas
de usuario de inferencia difusos, la
la forma de las funciones de pertenencia depende de parmetros, y el cambio de
estos parmetros cambiarn la forma de la funcin de pertenencia. En lugar de
slo mirar los datos para elegir los parmetros de la funcin de pertenencia, que
se
ver cmo los parmetros de funciones de pertenencia se pueden elegir
automticamente
estas aplicaciones Toolbox lgica difusa.
Un escenario de Modelado
Supongamos que se desea aplicar la inferencia difusa a un sistema para el que ya
se
tener una coleccin de datos de entrada / salida que desea utilizar para el
modelado,
modelo de seguimiento, o alguna situacin similar. Usted no necesariamente
tiene una
la estructura del modelo predeterminado basado en las caractersticas de las
variables en su
sistema.
Habr algunas situaciones de modelado en el que no se puede simplemente mirar
los datos
y discernir cules son las funciones de pertenencia debe ser similar. Ms bien que

la eleccin de los parmetros asociados con una funcin de pertenencia dado


arbitrariamente, estos parmetros podran ser elegidas con el fin de adaptar el
nmero de miembros
funciones a los datos de entrada / salida con el fin de dar cuenta de este tipo de
las variaciones en los valores de datos. Aqu es donde la llamada neuroadaptativo
tcnicas de aprendizaje incorporan en
ANFIS
en la Caja de herramientas de la lgica difusa puede
ayuda.
pgina 107

ANFIS y la GUI Editor ANFIS


2-93
Modelo de Aprendizaje e Inferencia A travs de ANFIS
La idea bsica detrs de estas tcnicas de aprendizaje neuro-adaptacin es muy
simple.
Estas tcnicas proporcionan un mtodo para el procedimiento de modelado difusa
para aprender
informacin sobre un conjunto de datos, con el fin de calcular la funcin de
pertenencia
parmetros que mejor permiten que el sistema de inferencia difusa asociada al
seguimiento de la
dado de datos de entrada / salida. Este mtodo de aprendizaje funciona de manera
similar a la de
Redes neuronales. La funcin de la caja de herramientas Fuzzy lgica que lleva a
cabo esta
ajuste de los parmetros de funcin de pertenencia se llama
ANFIS
.
ANFIS
puede ser
se accede desde la lnea de comandos, oa travs de la interfaz grfica de usuario
ANFIS Editor.
Dado que la funcionalidad de la funcin de lnea de comandos
ANFIS
y la ANFIS
Editor de interfaz grfica de usuario es similar, se utilizan como sinnimos en la
presente
discusin, hasta que los distinguimos a travs de la descripcin de la interfaz
grfica de usuario.
Qu es ANFIS?

El acrnimo ANFIS deriva su nombre de adaptacin inferencia neuro-fuzzy


sistema. El uso de un conjunto de datos de entrada / salida dada, la funcin de
caja de herramientas
ANFIS
construye un sistema de inferencia borrosa (FIS) cuya funcin de pertenencia
parmetros estn sintonizados (ajustado) usando un algoritmo de
retropropagacin
solo, o en combinacin con una de mnimos cuadrados tipo de mtodo. Esto
permite que su
sistemas difusos para aprender de los datos que estn modelando.
Estructura FIS y ajuste de parmetros
Una estructura de tipo red similar a la de una red neural, que mapea
entradas a travs de funciones de pertenencia de entrada y parmetros asociados,
y
luego a travs de funciones de pertenencia de salida y los parmetros asociados a
salidas, pueden ser utilizados para interpretar el mapa de entrada / salida.
Los parmetros asociados con las funciones de pertenencia cambiarn
a travs del proceso de aprendizaje. El clculo de estos parmetros (o su
ajuste) es facilitado por un vector gradiente, lo que proporciona una medida de
qu tan bien el sistema de inferencia difusa es el modelado de los datos de
entrada / salida para una
determinado conjunto de parmetros. Una vez que se obtiene el vector gradiente,
cualquiera de varios
rutinas de optimizacin podran aplicarse con el fin de ajustar los parmetros de
manera que
para reducir alguna medida de error (por lo general definido por la suma del
cuadrado
diferencia entre los resultados efectivos y deseados).
ANFIS
Utiliza ya sea de vuelta
reproducciones o de una combinacin de por lo menos la estimacin cuadrados y
retropropagacin
para la estimacin de parmetros de funcin de pertenencia.
pgina 108

2
Tutorial
2-94
La familiaridad engendra Validacin: Sepa sus datos
El enfoque utilizado por el modelado
ANFIS
es similar a muchos de identificacin del sistema

tcnicas. En primer lugar, plantean la hiptesis de una estructura modelo


parametrizado (relativa
entradas a las funciones de pertenencia de las normas a las salidas de las
funciones de pertenencia,
y as). A continuacin, recoja los datos de entrada / salida en una forma que
pueda utilizar
ANFIS
para entrenamiento. A continuacin, puede utilizar
ANFIS
para entrenar el modelo FIS para emular
los datos de entrenamiento que le sean presentadas por la modificacin de la
funcin de pertenencia
parmetros de acuerdo con un criterio de error elegida.
En general, este tipo de modelado funciona bien si los datos de entrenamiento
presentados a
ANFIS
para la formacin (de estimacin) parmetros de la funcin de pertenencia es
totalmente
representante de las caractersticas de los datos que el FIS se destina a formacin
modelo. Esto no es siempre el caso, sin embargo. En algunos casos, se recogen
los datos
usando mediciones de ruido, y los datos de entrenamiento no pueden ser
representativos de
todas las caractersticas de los datos que se presentarn en el modelo. Aqu es
donde
La validacin del modelo entra en juego.
Validacin del Modelo utilizando el anlisis de conjuntos de datos y Testing
La validacin del modelo es el proceso por el cual la entrada de vectores de
entrada / salida
conjuntos de datos en la que no se entren el FIS, se presentan a la FIS entrenado
modelo, para ver qu tan bien el modelo FIS predice el conjunto de datos
correspondiente
valores de salida. Esto se logra con el Editor GUI ANFIS usando el
as llamado conjunto de datos de prueba , y su uso se describe en una subseccin
que sigue.
Tambin se puede utilizar otro tipo de conjunto de datos para la validacin del
modelo de
ANFIS
. Esta
otro tipo de conjunto de datos de validacin se refiere como los datos del
conjunto de cheques y esto

conjunto se utiliza para controlar el potencial para el modelo sobreajuste de los


datos. Cuando
la verificacin de datos se presenta a
ANFIS
as como datos de entrenamiento, el modelo es FIS
selecciona para que tenga parmetros asociados con el modelo de datos mnimos
de control
error.
Un problema con la validacin de modelos para los modelos construidos usando
adaptativo
tcnicas es la seleccin de un conjunto de datos que es a la vez representativa de
los datos del
modelo de formacin est destinado a emular, sin embargo, lo suficientemente
distinta de la formacin
conjunto de datos a fin de no hacer que el proceso de validacin trivial. Si usted
ha recogido
una gran cantidad de datos, es de esperar estos datos contiene todo lo necesario
caractersticas representativas, por lo que el proceso de seleccin de un conjunto
de datos para el control o
propsitos de prueba se hace ms fcil. Sin embargo, si va a ser la presentacin
ruidosa
mediciones a su modelo, es posible que el conjunto de datos de entrenamiento no
lo hace
incluyen todas las funciones representativas que desea modelar.
pgina 109

ANFIS y la GUI Editor ANFIS


2-95
La idea bsica detrs de la utilizacin de un conjunto de datos de la
comprobacin de validacin del modelo es que
despus de un cierto punto del entrenamiento, el modelo comienza a sobreajuste
la formacin
conjunto de datos. En principio, el error de modelo para el conjunto de datos de
cheques tiende a
disminuir a medida que la formacin se realiza hasta el punto de que comience el
sobreajuste, y
entonces el error del modelo para los datos de comprobacin aumenta
repentinamente. En el primero
ejemplo en la siguiente seccin, dos conjuntos de datos similares se utilizan para
el control de
y la formacin, pero el conjunto de datos de comprobacin est daado por una
pequea cantidad de ruido.

Este ejemplo ilustra el uso de la ANFIS Editor GUI con la comprobacin


de datos para reducir el efecto de modelo overfitting. En el segundo ejemplo, una
formacin
conjunto de datos que se presenta a
ANFIS
es suficientemente diferente de la aplicada
Set de control de datos. Mediante el examen de la secuencia de comprobacin de
errores durante el entrenamiento
perodo, es evidente que el conjunto de datos de cheques no es bueno para la
validacin del modelo
propsitos. Este ejemplo ilustra el uso de la ANFIS Editor GUI para comparar
conjuntos de datos.
Algunas restricciones de ANFIS
ANFIS
es mucho ms complejo que los sistemas de inferencia difusos discutido hasta
ahora,
y no est disponible para todas las opciones del sistema de inferencia
difusos. Especficamente,
ANFIS
slo es compatible con los sistemas de tipo Sugeno, y estos deben ser:
sistemas de tipo Sugeno de orden cero o de primer
salida nica, obtenida usando defuzzification medio ponderado (lineal o
salida constante funciones de pertenencia)
Por el peso de unidad para cada regla
Se produce un error si su estructura FIS no cumple con estas limitaciones.
Adems,
ANFIS
no puede aceptar todas las opciones de personalizacin que bsica difusa
inferencia permite. Es decir, usted no puede hacer sus propias funciones de
pertenencia
y funciones de defuzzificacin; que tendr que utilizar los previstos.
La interfaz grfica de usuario ANFIS Editor
Para empezar a utilizar la GUI Editor ANFIS, Tipo
anfisedit
La siguiente interfaz grfica de usuario aparecer en su pantalla.
pgina 110

2
Tutorial
2-96
A partir de esta interfaz grfica de usuario que pueda

Datos de carga (de entrenamiento, prueba y verificacin) mediante la seleccin


de radio apropiado
botones de la Cargar datos de parte de la interfaz grfica de usuario y luego
seleccionar los datos de carga ...
Los datos cargados se traza en la zona de dibujo.
Generar un modelo FIS inicial o cargar un modelo FIS inicial usando las
opciones
en el Generar FIS parte de la interfaz grfica de usuario
Ver la estructura del modelo FIS una vez que una FIS inicial ha sido generada o
cargado mediante la seleccin de la Estructura botn
Los datos de prueba contra
el modelo FIS. los
figura aparece en el
zona de dibujo.
datos de prueba aparece en la
parcela en azul como
datos de entrenamiento aparece en
la trama en azul como
Comprobacin de datos aparece en
la trama en azul como
FIS de salida aparece en la
parcela en rojo como
..
oo
++
**
Cargar o guardar un difuso
sistema de Sugeno, o abierto
nuevo sistema de Sugeno.
Deshacer
Abrir o editar un FIS con cualquier
de las otras interfaces grficas de usuario.
Estado del nmero de entradas, salidas,
funciones de pertenencia de entrada y de salida
funciones de pertenencia
Cargar ya sea la formacin,
prueba o comprobacin
datos desde el disco o
espacio de trabajo, o la carga
datos de demostracin. Datos
aparece en la trama

regin.
Borrar datos
descarga el conjunto de datos
seleccionada en
Tipo:
y borra la zona de dibujo.
Cargar FIS o generar FIS
a partir de los datos cargados utilizando
su nmero elegido de FMs
y reglas o difusa.
Despus de generar
o cargar una FIS, este
botn le permite
abrir una grfica
representacin de su
de entrada y salida
estructura.
Capacitar a FIS despus de establecer la optimizacin
mtodo, la tolerancia de error, y el nmero de
de pocas. Esto genera tramas de error
en la regin de trama.
zona de dibujo
Pgina 111

ANFIS y la GUI Editor ANFIS


2-97
Elegir el mtodo de optimizacin de parmetros del modelo FIS: propagacin
hacia atrs o una
mezcla de propagacin hacia atrs y mnimos cuadrados (mtodo hbrido)
Elegir el nmero de pocas de formacin y la tolerancia de error de
entrenamiento
Capacitar al modelo FIS mediante la seleccin del tren botn Ahora
Esta formacin se ajusta a los parmetros de la funcin de pertenencia y grafica
la
parcela de formacin (y / o verificacin de datos) de error (s) en la regin de
trama.
Ver la salida del modelo FIS frente a la formacin, comprobacin o datos de
prueba
salida seleccionando la prueba Ahora botn
Esta funcin representa grficamente los datos de ensayo frente a la salida de
esqu alpino en la regin trama.

Tambin puede utilizar la barra de mens ANFIS Editor de interfaz grfica de


usuario para cargar un entrenamiento de esqu alpino
inicializacin, guardar su FIS entrenado, abrir un nuevo sistema de Sugeno, o
abra cualquier
de las otras interfaces grficas de usuario para interpretar el modelo FIS
entrenado.
Formalidades de datos y el editor de interfaz grfica de usuario ANFIS:
Comprobacin y Formacin
Para iniciar la formacin de un FIS usando
ANFIS
o el ANFIS Editor GUI, primero
necesita tener un conjunto de datos de entrenamiento que contiene los pares de
datos de entrada / salida deseada
del sistema de destino a modelar. A veces tambin quieren tener la
conjunto de datos de prueba opcional que se puede comprobar la capacidad de
generalizacin de la
resultando sistema de inferencia borrosa, y / o un conjunto de datos que ayuda a
comprobar con
sobreajuste del modelo durante el entrenamiento. El uso de un conjunto de datos
de prueba y una
verificacin de los datos establecidos para la validacin del modelo se discute i n
"Validacin del Modelo Uso
Comprobacin y conjuntos de datos de pruebas "en la pgina 2-94 . Como hemos
mencionado anteriormente,
sobreajuste se contabiliza mediante pruebas de la FIS capacitados en los datos de
entrenamiento
en contra de la comprobacin de los datos, y la eleccin de los parmetros de la
funcin de pertenencia
ser los asociados con el mnimo error de comprobacin si estos errores indican
modelo de sobreajuste. Usted tendr que examinar sus parcelas error de
entrenamiento bastante
estrechamente con el fin de determinar esto. Estas cuestiones se tratan ms
adelante en una
ejemplo. Por lo general, estos conjuntos de datos de entrenamiento y verificacin
se recogen basan en
Observaciones finales del sistema de destino y se almacenan en archivos
separados.
Nota sobre el formato de datos:
Cualquier conjunto de datos se carga en el ANFIS Editor GUI, (o
que se aplica a la funcin de lnea de comandos
ANFIS

) Debe ser una matriz con el


datos de entrada dispuestos como vectores en todos excepto la ltima
columna. Los datos de salida
debe estar en la ltima columna.
pgina 112

2
Tutorial
2-98
ANFIS Editor GUI Ejemplo 1: Comprobacin de datos Ayuda
Modelo de validacin
En esta seccin vamos a ver un ejemplo de que las cargas de entrenamiento
similar y comprobar
conjuntos de datos, slo el conjunto de datos de comprobacin est corrompida
por ruido.
Cargando datos
Para trabajar ambos de los siguientes ejemplos, se cargan los conjuntos de datos
de entrenamiento
(
fuzex1trnData
y
fuzex2trnData
) Y los conjuntos de datos de cheques
(
fuzex1chkData
y
fuzex2chkData
), En el Editor de ANFIS interfaz grfica de usuario de la
espacio de trabajo. Tambin puede sustituir sus propios conjuntos de datos.
Para cargar estos conjuntos de datos de los fuzzydemos de directorio en el
MATLAB
espacio de trabajo, el tipo de
cargar fuzex1trnData.dat
cargar fuzex2trnData.dat
cargar fuzex1chkData.dat
cargar fuzex2chkData.dat
desde la lnea de comandos.
Nota sobre la carga de datos:
Tambin puede que desee cargar el conjunto de datos de la
fuzzydemos
o cualquier otro directorio en el disco, utilizando la interfaz grfica de usuario
ANFIS Editor,

directamente.
Abra la interfaz grfica de usuario ANFIS Editor escribiendo
anfisedit
. Para cargar los datos de entrenamiento
conjunto, haga clic en Training, worksp. y luego cargar los datos ... .
La ventana pequea interfaz grfica de usuario que aparece le permite escribir en
un nombre de variable
el espacio de trabajo. Escribir
fuzex1trnData
, Como se muestra abajo.
pgina 113

ANFIS y la GUI Editor ANFIS


2-99
La formacin de datos aparece en la trama en el centro de la interfaz grfica de
usuario como un conjunto de crculos .
Observe el eje horizontal est marcado conjunto de datos de ndice . Este ndice
indica la
fila de la que se obtuvo que el valor de datos de entrada (ya sea la entrada o no
es un vector o un escalar). Luego haga clic en Verificar en el tipo de la columna
de la carga
Pgina 114

2
Tutorial
2-100
datos porcin de la interfaz grfica de usuario para cargar
fuzex1chkData
desde el espacio de trabajo. Estos datos
aparece en el grfico de interfaz grfica de usuario como puntos
positivos superpuestos sobre los datos de entrenamiento.
Este conjunto de datos se utiliza para entrenar a un sistema difuso mediante el
ajuste de los miembros
parmetros de la funcin que mejor modelo de estos datos. El siguiente paso
consiste en especificar una
inicial del sistema de inferencia borrosa para
ANFIS
entrenar.
Inicializacin y la generacin de su FIS
Usted puede inicializar los parmetros de la FIS a su propia preferencia, o si
no tienen ninguna preferencia por la forma en que desea las funciones iniciales de
miembros

ser parametrizado, puede dejar


ANFIS
hacer esto para usted.
Generacin automtica Estructura FIS con ANFIS
Para inicializar la FIS usando
Anfis:
1
Elija la rejilla de separacin, el mtodo de particin predeterminada. (Los dos
particiones
mtodos de particin, la rejilla y la agrupacin de sustraccin, se describen ms
adelante en
+++ Datos Comprobacin
Formacin de datos ooo
pgina 115

ANFIS y la GUI Editor ANFIS


2-101
"Fuzzy C-means" en la pgina 2-120, y en "sustractiva La agrupacin"
en la pgina 2-123 .
2
Haga clic en el Generar FIS botn. Esto lleva a un men desde el que se
puede elegir el nmero de funciones de pertenencia, los BM , y el tipo de entrada
y funciones de pertenencia de salida. Tenga en cuenta que slo hay dos opciones
para el
funcin de pertenencia de salida: constante y lineal . Esta limitacin de la
produccin
opciones de la funcin de pertenencia es debido
ANFIS
Slo opera en Sugeno de tipo
sistemas.
3
Rellene las entradas correspondientes como lo hemos hecho a continuacin, y
haga clic en OK.
Tambin puede aplicar este FIS generacin a partir de la lnea de comandos
utilizando el
mando
genfis1
(Para la subdivisin de cuadrcula) o
genfis2
(Por sustractiva
clustering). Un ejemplo de lenguaje de lnea de comandos que ilustra el uso de
genfis1

y
ANFIS
se proporciona ms adelante.
Especificacin de funciones propia suscripcin ANFIS
Aunque no esperamos que usted pueda hacer esto para este ejemplo, usted puede
elegir su
propias funciones de pertenencia preferidas con parmetros especficos para ser
utilizados por
ANFIS
como FIS inicial para la formacin.
pgina 116

2
Tutorial
2-102
Para definir su propia estructura FIS y parmetros:
1
Abrir el Editar funciones de pertenencia elemento de men en la vista de
men.
2
Agregue su funciones de pertenencia deseados (la opcin de suscripciones
personalizado se
estar deshabilitado para
ANFIS
). Las funciones de pertenencia de salida deben ser o bien todo
constante o todos lineal. Para llevar a cabo esto y el siguiente paso, consulte "La
Editor FIS "en la pgina 2-4 9 y" La membresa Funcin Editor "en la pgina
2-52 .
3
Seleccione la normativa Editar elemento de men en el Vista men. Utilice el
editor de reglas de
generar las reglas (ver "El editor de reglas" en la pgina 2-56) .
4
Seleccione la anuncios Editar FIS elemento de men en la vista de
men. Nombra tu
FIS, y guardarlo en cualquiera rea de trabajo o el disco.
5
Utilice la vista de men para volver a la ANFIS Editor GUI para entrenar el FIS.
Para cargar un FIS existente para ANFIS inicializacin, en el Generar FIS parte
de la interfaz grfica de usuario, haga clic en Cargar desde worksp. o cargar
desde el disco . Va a cargar su
FIS desde el disco si ha guardado un FIS anteriormente que le gustara

utilizar. De lo contrario ser la carga de su FIS desde el espacio de


trabajo. Cualquiera de
estos botones se puedan seleccionar alternativamente el Generar FIS botn
para cargar ... . Cargar el FIS
haciendo clic en este botn.
pgina 117

ANFIS y la GUI Editor ANFIS


2-103
Visualizacin de su estructura FIS
Despus de generar el FIS, se puede ver la estructura del modelo haciendo clic en
el
Estructura de botn en el centro de la parte derecha de la interfaz grfica de
usuario. Una nueva interfaz grfica de usuario
aparece, como sigue:
Las ramas en este grfico ganglionar estn codificados por colores para indicar si
o no
y , no , o , o , se utilizan en las reglas. Al hacer clic en los nodos indica
informacin sobre la estructura.
Puede ver las funciones de pertenencia o de las reglas ya sea mediante la apertura
de la
Funcin de miembros Editor o el editor de reglas de la Vista men.
Volver a otra abierta interfaces grficas de usuario
con el men Ventana.
Nodo que representa una normalizacin
factor de las reglas.
El cdigo de colores de las ramas
que caracteriza a las reglas.
- etiquetas de nodo para
ejemplo, ms a la izquierda
nodo es el
nodo de entrada
pgina 118

2
Tutorial
2-104
Formacin ANFIS
Los dos
ANFIS
opciones de mtodos de optimizacin de parmetros disponibles para FIS

formacin son hbridos (el valor por defecto, por mnimos cuadrados y
propagacin hacia atrs mezclados)
y backpropa (backpropagation). La tolerancia de error se utiliza para crear una
formacin criterio de parada, que se relaciona con el tamao error. La formacin
Parada despus del error en los datos de entrenamiento se mantiene dentro de esta
tolerancia. Esto es mejor dejar
se pone a 0 si no sabe cmo va su error de entrenamiento para comportarse.
Para iniciar la formacin:
Deje el mtodo de optimizacin en el hbrido .
Ajuste el nmero de pocas de formacin a 40, en el marco del pocas listado
en la interfaz grfica de usuario
(El valor por defecto es 3).
Seleccionar tren ahora .
El siguiente debera aparecer en su pantalla:
Observe cmo disminuye el error de comprobacin hasta un cierto punto del
entrenamiento
y luego aumenta. Este incremento representa el punto de modelo de sobreajuste.
ANFIS
elige los parmetros del modelo asociados con la comprobacin mnimo
***
error de entrenamiento
Comprobacin de errores ...
Pgina 119

ANFIS y la GUI Editor ANFIS


2-105
de error (justo antes de este punto de salto). Este es un ejemplo para los que la
comprobacin
opcin de datos de
ANFIS
es til.
Prueba de sus datos contra el FIS Formado
Para probar el esqu alpino en contra de las corrientes de datos, haga clic
en Comprobacin de los datos de la prueba
FIS parte de la interfaz grfica de usuario, y haga clic en Probar ahora . Ahora
cuando se prueba la comprobacin
los datos contra el FIS se ve bastante bien:
Nota sobre la carga de ms datos con ANFIS:
Si va a cargar datos en vez
ANFIS
despus de borrar los datos previamente cargados, debe asegurarse de que el

conjuntos de datos recin cargadas tienen el mismo nmero de entradas como el


anteriormente
cargados los hicieron. De lo contrario, tendr que iniciar un nuevo
anfisedit
sesin
desde la lnea de comandos.
Pgina 120

2
Tutorial
2-106
Nota sobre la opcin Comprobacin de datos y borrado de datos:
Si no desea
utilizar la opcin de verificacin de datos de
ANFIS
, No cargue los datos de comprobacin antes
capacitar a la FIS. Si decide entrenar a su FIS sin comprobacin de los datos, se
puede
descargar los datos de comprobacin en una de dos maneras. Un mtodo consiste
en hacer clic en el
Comprobacin de botn de opcin en el Cargar datos de parte de la interfaz
grfica de usuario y haga clic en
Borrar datos para descargar los datos de cheques. El otro mtodo que se puede
utilizar es
cerrar la interfaz grfica de usuario e ir a la lnea de comandos y vuelva a escribir
anfisedit
. En este caso
tendr que volver a cargar los datos de entrenamiento. Despus de borrar los
datos, necesitar
para regenerar el FIS. Una vez generado el FIS puede utilizar su primera
experiencia de formacin para decidir sobre el nmero de pocas de formacin
que desea para
la segunda ronda de entrenamiento.
ANFIS Editor GUI Ejemplo 2: Comprobacin de datos no
Validar Modelo
En este ejemplo, examinamos lo que sucede cuando el entrenamiento y
verificacin
los conjuntos de datos son suficientemente diferentes. Vemos como el Editor de
interfaz grfica de usuario puede ser ANFIS
utilizado para aprender algo acerca de los conjuntos de datos y en qu se
diferencian.
1

Limpiar tanto los datos de entrenamiento y verificacin.


2
Puede pulsar el Claro Solar botn a la derecha, aunque usted no tenga que
hacerlo.
3
Carga
fuzex2trnData
y
fuzex2chkData
(Respectivamente, los datos de entrenamiento
y la comprobacin de los datos) desde el espacio de trabajo de MATLAB tal
como lo hizo en el
ejemplo anterior.
pgina 121

ANFIS y la GUI Editor ANFIS


2-107
Usted debe conseguir algo que se parece a esto:
+++ Datos Comprobacin
Formacin de datos ooo
pgina 122

2
Tutorial
2-108
Capacitar al FIS para este sistema tal y como lo hizo en el ejemplo anterior,
excepto
ahora elegir
60
pocas antes del entrenamiento. Usted debe obtener lo siguiente:
Ntese la comprobacin de errores es bastante grande. Parece que el control de la
mnimo
error se produce dentro de la primera poca. Recordemos que el uso de la opcin
de datos de cheques
con
ANFIS
ajusta automticamente los parmetros de la FIS para ser asociados con los
el mnimo error de cheques. Es evidente que este conjunto de funciones de
pertenencia hara
no ser la mejor opcin para el modelado de los datos de entrenamiento.
Lo que est mal aqu? Este ejemplo ilustra el problema discutido anteriormente
en el que el conjunto de datos presentado a la comprobacin

ANFIS
para el entrenamiento era suficientemente
diferente del conjunto de datos de entrenamiento. Como resultado, el FIS
entrenado no captur
Las caractersticas de este conjunto de datos muy bien. Esto ilustra la importancia
de
conocer las caractersticas de su conjunto de datos lo suficientemente bien al
seleccionar su
entrenamiento y verificacin de datos. Cuando este no es el caso, se puede
analizar la
comprobacin de tramas de error para ver si o no los datos de control realizadas
lo suficientemente bien con el modelo entrenado. En este ejemplo, el error de
comprobacin es
suficientemente grande para indicar que, o bien ms datos necesita ser
seleccionado para
entrenamiento, o es posible que desee modificar sus opciones de la funcin de
pertenencia (tanto
el nmero de funciones de pertenencia y el tipo). De lo contrario el sistema puede
***
error de entrenamiento
Comprobacin de errores ...
pgina 123

ANFIS y la GUI Editor ANFIS


2-109
nueva formacin sin la comprobacin de los datos, si cree que las capturas de
datos de entrenamiento
suficientemente las caractersticas que estn tratando de representar.
Para completar este ejemplo, vamos a probar el modelo FIS entrenado en contra
de la comprobacin
datos. Para ello, haga clic en Comprobacin de datos en la prueba FIS parte de
la interfaz grfica de usuario, y
haga clic en Probar ahora . El siguiente grfico en la interfaz grfica indica que
hay una gran
discrepancia entre la salida de datos de control y la salida de la FIS.
Anfis desde la lnea de comandos
Como se puede ver, la generacin de una FIS usando el editor ANFIS GUI es
bastante simple.
Sin embargo, como se vio en el ltimo ejemplo, es necesario tener cuidado de no
la aplicacin de la funcin de validacin de los datos de comprobacin de
ANFIS
. Debe comprobar

que el error de comprobacin de datos hace lo que se supone que es. De lo


contrario lo que necesita
reciclar el FIS.
En esta seccin se describe cmo llevar a cabo las funciones de lnea de
comandos
ANFIS
en un ejemplo de prediccin de series de tiempo caticas.
pgina 124

2
Tutorial
2-110
Usando ANFIS para la Prediccin de series temporales Chaotic
la demo
mgtsdemo
usos
ANFIS
para predecir una serie de tiempo que se genera por el
despus de Mackey-Glass (MG) de retardo ecuacin diferencial:
Esta serie de tiempo es catico, y por lo tanto no hay un perodo claramente
definido. Las series
no va a converger o divergir, y la trayectoria es muy sensible a sus iniciales
condiciones. Este es un problema de referencia en la red neural y difusa
comunidades de investigacin de modelado.
Para obtener el valor de series temporales en puntos enteros, se aplic el cuarto
orden
mtodo de Runge-Kutta para encontrar la solucin numrica de la ecuacin
anterior MG;
el resultado se guarda en el archivo
mgdata.dat
. Aqu asumimos x (0) = 1.2, = 17,
y x (t) = 0 para t <0. Para representar grficamente la serie MG de tiempo, el tipo
de
mgdata.dat carga
t = mgdata (:, 1); x = mgdata (:, 2); plot (t, x);
En la prediccin de series de tiempo que queremos usar valores conocidos de la
serie temporal hasta
el punto en el tiempo, por ejemplo, t , para predecir el valor en algn momento en
el futuro, por ejemplo,
t + P . El mtodo estndar para este tipo de prediccin es crear una cartografa
x

t
0,2 x t
(
)
1x
10
t
(
)
+
---------------------------------- 0,1 x t
=
pgina 125

ANFIS y la GUI Editor ANFIS


2-111
de puntos de datos de la muestra D, la muestra cada unidades en el
tiempo, ( x (t- (D -1) , ..., x (t - ),
x (t)), a un valor futuro predicho x (t + P). Despus de los ajustes convencionales
para
la prediccin de la serie de tiempo MG, fijamos D = 4 y = P = 6. Para cada
t
, La entrada
datos de entrenamiento para
ANFIS
es un vector de cuatro dimensiones de la siguiente forma:
w (t) = [x (t-18) x (t-12) x (t-6) x (t)]
Los datos de entrenamiento de salida corresponde a la prediccin de la
trayectoria:
s (t) = x (t + 6)
Para cada t , que van en valores a partir de 118 a la 1117, la entrada / salida de
datos de entrenamiento
ser una estructura cuya primera componente es la entrada de cuatro
dimensiones w , y
cuyo segundo componente es la salida
s
. Habr 1000 de datos de entrada / salida
valores. Utilizamos los primeros 500 valores de datos para el

ANFIS
formacin (stos se convierten en
el conjunto de datos de entrenamiento), mientras que los otros se utilizan como la
verificacin de los datos para la validacin
el modelo borroso identificado. Esto resulta en dos estructuras de datos 500 de
punto:
trnData
y
chkData
.
Aqu est el cdigo que genera estos datos:
para t = 118: 1117,
De datos (T-117,:) = [x (t-18) x (t-12) x (t-6) x (t) x (t + 6)];
fin
trnData = datos (1: 500, :);
chkData = Datos (501: final, :);
Para iniciar el entrenamiento, necesitamos una estructura FIS que especifica la
estructura y
los parmetros iniciales de la FIS para el aprendizaje. Esta es la tarea de
genfis1
:
fismat = genfis1 (trnData);
Dado que no especificamos el nmero y tipos de funciones de pertenencia
utilizadas en
el FIS, se asumen los valores por defecto. Estos valores por defecto proporcionan
dos generalizada
funciones de pertenencia de campana en cada una de las cuatro entradas, ocho en
total. los
estructura FIS generado contiene 16 reglas difusas con 104 parmetros. En orden
para lograr una buena capacidad de generalizacin, es importante tener el nmero
de
puntos de datos de entrenamiento sean varias veces ms grande que ser los
parmetros de nmero
estimado. En este caso, la relacin entre los datos y parmetros es de
aproximadamente cinco
(500/104).
pgina 126

2
Tutorial
2-112
La funcin

genfis1
genera funciones iniciales de miembros que son igualmente
espaciados y cubrir todo el espacio de entrada. Puede representar el nmero de
miembros de entrada
funciones utilizando los siguientes comandos.
subtrama (2,2,1)
plotmf (fismat, "entrada", 1)
subtrama (2,2,2)
plotmf (fismat, "entrada", 2)
subtrama (2,2,3)
plotmf (fismat, "entrada", 3)
subtrama (2,2,4)
plotmf (fismat, "entrada", 4)
Estas funciones iniciales de miembros se muestran a continuacin.
Para iniciar el entrenamiento, tipo
[Fismat1, error1, ss, fismat2, error2] = ...
ANFIS (trnData, fismat, [], [], chkData);
Esto toma aproximadamente cuatro minutos en un Sun SPARCstation 2 durante
10 pocas de
formacin. Debido a que la opcin de verificacin de datos de
ANFIS
fue invocada, la final de la FIS
elige normalmente sera la asociada a la comprobacin mnimo
0,6
0,8
1
1.2
0
0,2
0,4
0,6
0,8
1
entrada 1
0,6
0,8
1
1.2
0
0,2
0,4

0,6
0,8
1
entrada 2
0,6
0,8
1
1.2
0
0,2
0,4
0,6
0,8
1
entrada 3
0,6
0,8
1
1.2
0
0,2
0,4
0,6
0,8
1
entrada 4
pgina 127

ANFIS y la GUI Editor ANFIS


2-113
error. Este se almacena en
fismat2
. El siguiente cdigo trazar estos nuevos
funciones de pertenencia:
subtrama (2,2,1)
plotmf (fismat2, "entrada", 1)
subtrama (2,2,2)
plotmf (fismat2, "entrada", 2)
subtrama (2,2,3)
plotmf (fismat2, "entrada", 3)
subtrama (2,2,4)
plotmf (fismat2, "entrada", 4)

Este es el resultado :.
Para trazar el tipo de seales de error
plot ([error1; error2]);
aqu
error1
y
error2
se significa la raz del error cuadrtico para la formacin y
la comprobacin de datos, respectivamente.
Adems de estas parcelas de error, es posible que desee para trazar la salida
frente al FIS
entrenamiento o comprobacin de datos. Para comparar la serie original y el
tiempo de MG
lado a lado prediccin borrosa, intente
anfis_output = evalfis ([trnData; chkData], fismat2);
index = 125: 1124;
0,6
0,8
1
1.2
0
0,2
0,4
0,6
0,8
1
entrada 1
0,6
0,8
1
1.2
0
0,2
0,4
0,6
0,8
1
entrada 2
0,6
0,8
1

1.2
0
0,2
0,4
0,6
0,8
1
entrada 3
0,6
0,8
1
1.2
0
0,2
0,4
0,6
0,8
1
entrada 4
pgina 128

2
Tutorial
2-114
subtrama (211), la trama (t (ndice), [x (ndice) anfis_output]);
subtrama (212), la trama (t (ndice), x (ndice) - anfis_output);
Tenga en cuenta que la diferencia entre las series de tiempo MG original y el
ANFIS
valores estimados es muy pequea. Es por esto que slo se puede ver una curva
en el
primera parcela. El error de prediccin se muestra en el segundo parcela con una
mucho ms fina
escala. Tenga en cuenta que slo hemos entrenado durante 10 pocas. Mejor
rendimiento es
se espera si aplicamos una formacin ms amplia.
Ms sobre ANFIS y la GUI Editor ANFIS
El comando
ANFIS
toma por lo menos dos y como mximo seis argumentos de entrada. los
formato general es
[Fismat1, trnError, ss, fismat2, chkError] = ...
ANFIS (trnData, fismat, trnOpt, dispOpt, chkData, mtodo);

dnde
trnOpt
(opciones de formacin),
dispOpt
(opciones de pantalla),
chkData
(comprobacin
datos), y
Mtodo
(Mtodo de entrenamiento), son opcionales. Todos los argumentos de salida
Tambin son opcionales. En esta seccin se discuten los argumentos y gama
componentes de la funcin de lnea de comandos
ANFIS
, As como el anlogo
la funcionalidad de la interfaz grfica de usuario ANFIS Editor.
Cuando el editor de interfaz grfica de usuario se invoca usando ANFIS
anfisedit
, Slo la formacin
conjunto de datos debe existir antes de la implementacin
anfis.I
n Adems, el tamao de paso se
se fija cuando el sistema neuro-difuso adaptativo es entrenado utilizando esta
herramienta de interfaz grfica de usuario.
200
300
400
500
600
700
800
900
1000
1100
-10
-5
0
5
x 10
-3
Los errores de prediccin
200

300
400
500
600
700
800
900
1000
1100
0,6
0,8
1
1.2
MG Tiempo serise y prediccin ANFIS
pgina 129

ANFIS y la GUI Editor ANFIS


2-115
Datos de entrenamiento
Los datos de entrenamiento,
trnData,
es un argumento necesario para
ANFIS
, As como a la
ANFIS Editor GUI. Cada fila de
trnData
es un par de entrada deseada / salida de la
sistema de destino para ser modelado. Cada fila comienza con un vector de
entrada y es
seguido de un valor de salida. Por lo tanto, el nmero de filas de
trnData
es igual
para el nmero de pares de datos de entrenamiento, y, ya que slo hay una salida,
la
nmero de columnas de
trnData
es igual al nmero de entradas ms uno.
Estructura de entrada FIS
La estructura FIS de entrada,
fismat
, Pueden obtenerse o de cualquiera de los fuzzy

los editores: El editor de esqu alpino, el editor de la Afiliacin de funciones, y el


editor de reglas
Del ANFIS Editor GUI, (que permite una estructura de FIS que se carga desde
el disco o el espacio de trabajo), o de la funcin de lnea de comandos,
genfis1
(para
que slo se necesita dar nmeros y tipos de funciones de pertenencia). los
FIS estructura contiene tanto la estructura del modelo, (que especifica los
artculos tales como
el nmero de reglas en el esqu alpino, el nmero de funciones de pertenencia
para cada
de entrada, etc.), y los parmetros, (que especifican las formas de los miembros
funciones). Hay dos mtodos que
ANFIS
aprendizaje emplea para la actualizacin
parmetros de la funcin de pertenencia: retropropagacin para todos los
parmetros (a
ms empinada forma de descenso), y un mtodo hbrido que consta de
backpropagation
para los parmetros asociados a las funciones de pertenencia de entrada, y menos
cuadrados de estimacin para los parmetros asociados con los miembros de
salida
funciones. Como resultado, el error de entrenamiento disminuye, al menos
localmente, a lo largo
el proceso de aprendizaje. Por lo tanto, cuanto ms las funciones iniciales de
miembros
asemejarse a las ptimas, ms fcil ser para los parmetros del modelo
capacitacin para converger. experiencia humana sobre el sistema de destino para
ser modelada
puede ayudar en la creacin de estos parmetros iniciales de funciones de
pertenencia en el FIS
estructura.
Tenga en cuenta que
genfis1
produce una estructura FIS basado en un nmero fijo de
funciones de pertenencia. Esto invoca la llamada maldicin de la
dimensionalidad , y
provoca una explosin del nmero de reglas cuando el nmero de entradas es
moderadamente grande, es decir, ms de cuatro o cinco. Las ofertas de Toolbox
Fuzzy Logic

un mtodo que proporcionar por alguna reduccin de la dimensin de la


inferencia borrosa
sistema: se puede generar una estructura FIS usando el algoritmo de
agrupamiento
discutido en "La agrupacin sustractiva" en la pgina 2-12 3. Desde el Editor de
ANFIS
GUI, este algoritmo se selecciona con un botn de radio antes de que se genere el
FIS.
Esta agrupacin mtodo sustractivo Divide los datos en grupos llamados
clusters, y genera una FIS con las normas mnimas de nmeros necesarios para
distinguir las cualidades difusos asociados con cada uno de los grupos.
pgina 130

2
Tutorial
2-116
Opciones de entrenamiento
La herramienta de interfaz grfica de usuario ANFIS Editor le permite elegir su
tolerancia de error deseada
y el nmero de pocas de formacin.
opcin de formacin
trnOpt
para la lnea de comandos
ANFIS
es un vector que especifica
los criterios de detencin y la estrategia de adaptacin de tamao de paso:

trnOpt (1)
: Nmero de pocas de formacin, por defecto = 10.

trnOpt (2)
: Tolerancia de error, por defecto = 0.

trnOpt (3)
: Paso a tamao inicial, por defecto = 0,01.

trnOpt (4)
: Tamao de paso tasa de disminucin, por defecto = 0,9.

trnOpt (5)
: Tasa de aumento de tamao de paso, por defecto = 1.1.
Si hay algn elemento de

trnOpt
es un
Yaya
o falta, entonces se toma el valor por defecto.
El proceso de formacin se detiene si se alcanza el nmero designado o la poca
objetivo se logra de error, lo que ocurra primero.
Por lo general, queremos que el perfil de tamao de paso sea una curva que
aumenta inicialmente,
alcanza algn mximo y, a continuacin, disminuye por el resto de la formacin.
Este perfil ideal de tamao de paso se consigue ajustando el tamao de paso
inicial y el
las tasas de aumento y disminucin (
trnOpt (3)
trnOpt (5)
). Los valores por defecto son
creado para cubrir una amplia gama de tareas de aprendizaje. Para cualquier
aplicacin especfica,
lo desea, puede modificar estas opciones de paso de tamao con el fin de
optimizar la formacin.
Sin embargo, como hemos mencionado anteriormente, no hay paso de tamao
especificado por el usuario
opciones para el entrenamiento del sistema de inferencia borrosa neuro
adaptativo generada usando
el editor de interfaz grfica de usuario ANFIS.
Opciones de pantalla
Opciones de visualizacin slo se aplican a la funcin de lnea de comandos,
ANFIS
.
Para la lnea de comandos
ANFIS
, Las opciones de visualizacin argumento,
dispOpt
, Es un vector
ya sea de unos o ceros que especifica qu informacin se mostrar, (imprimir en
el
MATLAB ventana de lnea de comandos), antes, durante y despus del
entrenamiento
proceso. Uno se utiliza para denotar imprimir esta opcin , mientras que cero
indica que no hacer
imprimir esta opcin.


dispOpt (1)
: Pantalla Anfis informacin, por defecto = 1.

dispOpt (2)
: Error de visualizacin (cada poca), por defecto = 1.

dispOpt (3)
: Indicacin de pasos de tamao (cada poca), por defecto = 1.

dispOpt (4)
: Mostrar los resultados finales, por defecto = 1.
pgina 131

ANFIS y la GUI Editor ANFIS


2-117
El modo por defecto es muestra toda la informacin disponible. Si hay algn
elemento de
dispOpt
es
Yaya
o falta, se tomar el valor por defecto.
Mtodo
Tanto la interfaz grfica de usuario ANFIS Editor y la lnea de comandos
ANFIS
aplicar ya sea una
forma de propagacin hacia atrs del mtodo del descenso ms agudo de la
funcin de pertenencia
la estimacin de parmetros, o una combinacin de backpropagation y la
mtodo de mnimos cuadrados para estimar los parmetros de la funcin de
pertenencia. los
opciones para este argumento son
hbrido
o
retropropagacin
. estos mtodo
opciones estn designados en funcin de la lnea de comandos,
ANFIS
, En 1 y 0,
respectivamente.
Salida FIS Estructura de datos Formacin
fismat1

es la estructura FIS de salida correspondiente a un error mnimo de


entrenamiento.
Esta es la estructura de la FIS que va a utilizar para representar el sistema difuso
cuando
no hay datos de control utilizado para el modelo de validacin cruzada. Estos
datos tambin
representa la estructura FIS que es salvado por el ANFIS Editor GUI cuando el
no se utiliza la opcin de verificacin de datos.
Cuando se utiliza la opcin de datos de prueba, la salida de salvado es el asociado
con
el mnimo error de cheques.
error de entrenamiento
El error de entrenamiento es la diferencia entre el valor de salida de datos de
entrenamiento,
y la salida del sistema de inferencia difusa que corresponde a la misma
formacin valor de entrada de datos, (el que est asociado con la salida de datos
de entrenamiento
valor). El error de entrenamiento
trnError
Registros que significa la raz del error cuadrtico
(RMSE) de los datos de entrenamiento en cada poca.
fismat1
es la instantnea de la
estructura FIS cuando la medida de error de entrenamiento est en su mnimo. el
ANFIS
Editor de interfaz grfica de usuario trazar el error de entrenamiento frente a la
curva pocas ya que el sistema es
entrenado.
Numero de pie
No se puede controlar las opciones de tamao de paso con la ANFIS Editor
GUI. Utilizando el
lnea de comando
ANFIS
, La matriz de paso de tamao
ss
registra el paso de tamao durante el
formacin. Trazado
ss
da el perfil de tamao de paso, que sirve como referencia para
ajustar el tamao de paso inicial y la disminucin correspondiente y aumento
Pgina 132

2
Tutorial
2-118
las tasas. El tamao de paso (
ss
) Para la funcin de lnea de comandos
ANFIS
se actualiza
de acuerdo con las siguientes pautas:
Si el error se somete a cuatro reducciones consecutivas, aumentar el tamao de
paso por
multiplicndolo por una constante (
ssinc
) Mayor que uno.
Si el error se somete a dos combinaciones consecutivos de un aumento y una
reduccin, disminuir el tamao de paso multiplicndolo por una constante (
ssdec
) Menos
de una.
El valor por defecto para el tamao de paso inicial es de 0,01; los valores por
defecto para
ssinc
y
ssdec
son 1,1 y 0,9, respectivamente. Todos los valores por defecto pueden cambiarse
a travs de la opcin de entrenamiento para la lnea de comandos
ANFIS
.
Comprobacin de datos
Los datos de cheques,
chkData
, Se utiliza para probar la capacidad de generalizacin de
el sistema de inferencia borrosa en cada poca. La comprobacin de los datos
tiene el mismo
formato que el de los datos de entrenamiento, y sus elementos son generalmente
distinta de
las de los datos de entrenamiento.
La verificacin de datos es importante para tareas de aprendizaje para que el
nmero de entrada
es grande, y / o los datos en s es ruidoso. En general queremos una inferencia
borrosa

sistema para el seguimiento de un dato de entrada / salida determinado conjunto


tambin. Dado que la estructura del modelo
usado para
ANFIS
se fija, hay una tendencia para que el modelo overfit los datos sobre
que es entrenado, especialmente para un gran nmero de pocas de formacin. Si
sobreajuste se produce, no podemos esperar que el sistema de inferencia borrosa
para responder
bien a otros conjuntos de datos independientes, especialmente si estn
corrompidos por ruido. UN
validacin o verificacin que se describen los datos pueden ser tiles para estas
situaciones. Este conjunto de datos
se utiliza para crossvalidate el modelo de inferencia borrosa. Esta es la validacin
cruzada
logrado mediante la aplicacin de los datos de comprobacin para el modelo, y
ver qu tan bien
el modelo responde a estos datos.
Cuando la opcin de verificacin de datos se utiliza con
ANFIS
, Ya sea a travs del comando
lnea, o el uso de la ANFIS Editor GUI, los datos de comprobacin se aplica al
modelo
en cada poca de entrenamiento. Cuando la lnea de comandos
ANFIS
se invoca, el modelo
parmetros que corresponden a el mnimo error de comprobacin son devueltos a
travs de
el argumento de salida
fismat2
. Los parmetros de la funcin de miembro de la FIS
calculado utilizando la GUI Editor ANFIS cuando tanto el entrenamiento y
verificacin de datos
son cargados estn asociados con la poca de formacin que tiene una cuenta de
cheques mnimo
error.
pgina 133

ANFIS y la GUI Editor ANFIS


2-119
El uso de la poca error de datos mnimos de control para ajustar el nmero de
miembros
parmetros de la funcin asume

La comprobacin de los datos es lo suficientemente similar a los datos de


entrenamiento que la comprobacin
error de datos disminuir a medida que comienza la formacin
Las corrientes de datos aumenta en algn momento de la formacin, despus de
lo cual los datos
sobreajuste ha ocurrido.
Como se discuti en "ANFIS Editor GUI Ejemplo 2: Comprobacin de datos no
Validar Modelo "en la pgina 2-106, en funcin del comportamiento de los datos
de comprobacin
error, el FIS resultante puede o no ser el que usted debe utilizar.
Salida FIS Estructura para la comprobacin de datos
La salida de la lnea de comandos
ANFIS
,
fismat2
, Es la estructura de salida FIS
con el mnimo error de cheques. Esta es la estructura que debe ser FIS
utilizado para el clculo adicional si la verificacin de datos se utiliza para la
validacin cruzada.
Comprobacin de errores
La comprobacin de errores es la diferencia entre el valor de salida de datos de
cheques,
y la salida del sistema de inferencia difusa que corresponde a la misma
comprobacin de valor de entrada de datos, (el que est asociado con la salida de
datos de cheques
valor). La comprobacin de errores
chkError
registra el RMSE para los datos de la comprobacin
en cada poca.
fismat2
es la instantnea de la estructura FIS cuando la comprobacin
error est en su mnimo. El ANFIS Editor GUI trazar la comprobacin de
errores vs.
curva de pocas ya que el sistema est capacitado.
pgina 134

2
Tutorial
2-120
Fuzzy Clustering
La agrupacin de los datos numricos forma la base de muchos sistema de
clasificacin y

algoritmos de modelado. El propsito de la agrupacin es identificar


agrupaciones naturales
de los datos de un gran conjunto de datos para producir una representacin
concisa de un sistema de
comportamiento. La Caja de herramientas de la lgica difusa est equipado con
algunas herramientas que permiten
para encontrar clusters en los datos de entrenamiento de entrada-salida. Puede
utilizar el clster
informacin para generar un sistema de inferencia borrosa de tipo Sugeno que los
mejores modelos
el comportamiento de datos utilizando un nmero mnimo de reglas. La particin
de reglas
a s mismos de acuerdo con las cualidades difusos asociados con cada uno de los
datos
clusters. Este tipo de generacin de FIS se puede lograr automticamente
la funcin de lnea de comandos,
genfis2
.
Fuzzy C-means
Fuzzy c-means (FCM) es una tcnica de agrupacin de datos en la que cada punto
de datos
pertenece a un grupo en cierto grado que se especifica por un grado de
pertenencia.
Esta tcnica fue introducida originalmente por Jim Bezdek en 1981 [Bez81]
como una
la mejora en los mtodos de agrupacin anteriores. Proporciona un mtodo de
cmo
los puntos de datos de grupo que pueblan un espacio multidimensional en una
especfica
nmero de diferentes grupos?
La funcin de lnea de comandos Lgica Fuzzy Caja de herramientas
FCM
comienza con una inicial
adivinar para los centros de los conglomerados , que estn destinadas a marcar la
posicin media de
cada grupo. La aproximacin inicial para estos centros de los conglomerados ms
probable es incorrecta.
Adicionalmente,
FCM
asigna todos los datos sealan un grado de pertenencia para cada

racimo. Al actualizar de forma iterativa los centros de los conglomerados y los


grados de pertenencia
para cada punto de datos,
FCM
iterativa mueve los centros de los conglomerados a la "derecha"
ubicacin dentro de un conjunto de datos. Esta iteracin se basa en la
minimizacin de un objetivo
funcin que representa la distancia desde cualquier punto de datos dada a un
clster
Centro ponderado por grado de pertenencia de ese punto de datos.
FCM
es una funcin de lnea de comandos cuya salida es una lista de los centros de los
conglomerados y
varios grados de pertenencia para cada punto de datos. Puede utilizar la
informacin
devuelto por
FCM
para ayudarle a construir un sistema de inferencia difusa mediante la creacin de
funciones de pertenencia para representar las cualidades difusas de cada grupo.
pgina 135

Fuzzy Clustering
2-121
Un ejemplo: los grupos 2-D
Vamos a usar algunos datos cuasi-aleatoria de dos dimensiones para ilustrar cmo
FCM
agrupacin funciona. Cargar un conjunto de datos y tener una mirada en ella.
fcmdata.dat carga
plot (fcmdata (:, 1), fcmdata (:, 2), o)
Ahora se invoca la funcin de lnea de comandos,
FCM,
y pedirle que encontrar dos grupos
en este conjunto de datos
[Central, T, objFcn] = FCM (fcmdata, 2);
El nmero de iteraciones = 1, obj. FCN = 8.941176
El nmero de iteraciones = 2, obj. FCN = 7.277177
y as sucesivamente hasta que la funcin objetivo ya no se disminuye en
absoluto.
La variable
centrar
contiene las coordenadas de los dos centros de los conglomerados,
T

contiene los grados de pertenencia para cada uno de los puntos de datos, y
objFcn
contiene una historia de la funcin objetivo a travs de las iteraciones.
los
FCM
funcin es una repeticin del bucle construido encima de varias otras rutinas,
a saber
initfcm
, Que inicializa el problema,
distfcm
, Que se utiliza para
los clculos de distancia, y
stepfcm
, Que los pasos a travs de una iteracin.
0
0,2
0,4
0,6
0,8
1
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
.
pgina 136

2
Tutorial
2-122
Trazado de la funcin objetivo muestra el progreso de la agrupacin.
plot (objFcn)
Finalmente aqu es un grfico que muestra los dos grupos separados segn la
clasificacin de la
FCM

rutina. En la siguiente figura se genera usando:


fcmdata.dat carga
[Central, T, obj_fcn] = FCM (fcmdata, 2);
maxU = max (U);
index1 = find (T (1, :) == maxU);
index2 = find (T (2, :) == maxU);
lnea (fcmdata (index1, 1), fcmdata (index1, 2), 'estilo de lnea', ...
"Ninguna", "marcador", "O", "color", "g");
lnea (fcmdata (index2,1), fcmdata (index2,2), 'estilo de lnea', ...
"Ninguna", "marcador", "x", "color", "r");
Espere
parcela (centro (1,1), centro (1,2), 'ko', 'markersize', 15 ', LineWidth', 2)
parcela (centro (2,1), centro (2,2), 'kx', 'markersize', 15 ', LineWidth', 2)
1
2
3
4
5
6
7
8
9
10
11
0
1
2
3
4
5
6
7
8
9
10
los valores de la funcin objetivo
pgina 137

Fuzzy Clustering
2-123
centros de los conglomerados se indican en la siguiente figura por los caracteres
grandes.

La agrupacin de sustraccin
Supongamos que no tenemos una idea clara de cmo muchos grupos no deben
ser para una
determinado conjunto de datos. agrupamiento sustractivo , [Chi94] , es un
algoritmo de una pasada rpida
para estimar el nmero de grupos y los centros de los conglomerados en un
conjunto de datos.
Las estimaciones de racimo obtenidos a partir de la
subclust
funcin puede ser utilizada para
inicializar los mtodos de agrupamiento basado en la optimizacin iterativos (
FCM
) Y el modelo
mtodos de identificacin (como
ANFIS
). los
subclust
funcin encuentra el agrupamiento de
utilizando el mtodo de agrupamiento sustractivo.
los
genfis2
la funcin se basa en la
subclust
funcionar para proporcionar una rpida,
mtodo de un solo paso para tomar datos de entrenamiento de entrada-salida y
generar una
sistema de inferencia borrosa que modela el comportamiento de datos de tipo
Sugeno.
Un ejemplo: Trfico suburbano
En este ejemplo se aplica la
genfis2
funcin para modelar la relacin
entre el nmero de viajes en automvil generados a partir de un rea y los de la
zona
demografa. Los datos demogrficos y disparo son de zonas de anlisis de trfico
100
en el condado de New Castle, Delaware. Cinco factores demogrficos se
consideran:
la poblacin, el nmero de unidades de vivienda, la propiedad del vehculo, casa
mediana

El ingreso y el empleo total. De ah que el modelo tiene cinco variables de


entrada y
una variable de salida.
0
0,2
0,4
0,6
0,8
1
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
pgina 138

2
Tutorial
2-124
Cargar los datos escribiendo
tripdata
subtrama (2,1,1), la trama (datin)
subtrama (2,1,2), la trama (datout)
tripdata
crea varias variables en el espacio de trabajo. De los datos originales 100
puntos, vamos a utilizar 75 puntos de datos como datos de entrenamiento (
datin
y
datout
) Y 25
puntos de datos como la comprobacin de los datos, (as como para los datos de
prueba para validar el modelo).
La entrada de datos de comprobacin / pares de salida se indican mediante
chkdatin
y
chkdatout

.
los
genfis2
funcin genera un modelo de datos utilizando la agrupacin, y
requiere que se especifique un radio clster. El grupo Radio indica el rango
de influencia de un clster cuando se tiene en cuenta el espacio de datos como un
hipercubo unidad.
Especificacin de un pequeo grupo Radio por lo general producir muchos
pequeos grupos en el
de datos, (resultando en muchas reglas). Especificacin de un gran grupo Radio
por lo general
producir unos pocos grupos grandes en los datos, (resultando en un menor
nmero de reglas). el clster
radio se especifica como el tercer argumento de
genfis2
. Aqu hemos llamado la
genfis2
funcin utilizando un radio de racimo de 0,5.
fismat = genfis2 (datin, datout, 0,5);
genfis2
es un mtodo rpido, de un solo paso que no realiza ninguna iterativo
mejoramiento. Una estructura FIS se devuelve; el tipo de modelo para el FIS
estructura es un modelo de primer orden Sugeno con tres reglas. Nosotros
podemos usar
evalfis
a
verificar el modelo.
fuzout = evalfis (datin, fismat);
trnRMSE = norma (fuzout-datout) / sqrt (longitud (fuzout))
0
10
20
30
40
50
60
70
80
0
10
20

30
40
50
0
10
20
30
40
50
60
70
80
0
2
4
6
8
10
pgina 139

Fuzzy Clustering
2-125
trnRMSE =
0.5276
La variable
trnRMSE
se significa la raz cuadrada del error del sistema que genera
los datos de entrenamiento. Para validar la generalizacin del modelo, aplicamos
la prueba
datos a la FIS. Para este ejemplo, se utilizan los datos de comprobacin tanto
para la comprobacin
y prueba de los parmetros de la FIS.
chkfuzout = evalfis (chkdatin, fismat);
chkRMSE = norma (chkfuzout-chkdatout) / sqrt (longitud (chkfuzout))
chkRMSE =
0.6170
No es sorprendente que el modelo no lo hace tan bueno un trabajo sobre los datos
de prueba.
Un grfico de los datos de prueba revela la diferencia.
plot (chkdatout)
Espere
plot (chkfuzout, o)

esperar
En este punto, podemos utilizar la funcin de optimizacin de
ANFIS
para mejorar el
modelo. En primer lugar, vamos a tratar de usar un tiempo relativamente corto
ANFIS
formacin (50 pocas)
sin implementar la opcin de verificacin de datos, pero probar el FIS resultante
modelo frente a los datos de prueba. La versin de lnea de comandos de esto es
como sigue:
fismat2 = ANFIS ([datout datin], fismat, [50 0 0.1]);
Despus del entrenamiento se realiza, escribimos:
0
5
10
15
20
25
0
1
2
3
4
5
6
7
8
9
pgina 140

2
Tutorial
2-126
fuzout2 = evalfis (datin, fismat2);
trnRMSE2 = norma (fuzout2-datout) / sqrt (longitud (fuzout2))
trnRMSE2 =
0.3407
chkfuzout2 = evalfis (chkdatin, fismat2);
chkRMSE2 = norma (chkfuzout2-chkdatout) / sqrt (longitud (chkfuzout2))
chkRMSE2 =
0.5827

El modelo ha mejorado mucho con respecto a los datos de entrenamiento, pero


slo un poco
con respecto a los datos de comprobacin. Aqu es un grfico de los datos de
pruebas de las instalaciones.
plot (chkdatout)
Espere
plot (chkfuzout2, o)
esperar
Aqu vemos que
genfis2
se puede utilizar como un mtodo independiente, rpido para
la generacin de un modelo difuso de datos, o como un pre-procesador para
ANFIS
para
la determinacin de las reglas iniciales. Una ventaja importante del uso de una
agrupacin
mtodo para encontrar las reglas es que las reglas resultantes corresponden en
mayor medida a la entrada
datos de lo que son en un FIS genera sin agrupamiento. Esto reduce la
problema de la explosin combinatoria de las reglas cuando los datos de entrada
tiene un alto
dimensin (la maldicin de la dimensionalidad temido).
sobreajuste
Ahora vamos a considerar lo que ocurre si se realiza un entrenamiento ms largo
(200 poca)
de este sistema utilizando
ANFIS
, Incluyendo su opcin de datos de cheques.
0
5
10
15
20
25
0
1
2
3
4
5
6

7
8
9
pgina 141

Fuzzy Clustering
2-127
[Fismat3, TRNERR, stepSize fismat4, chkErr] = ...
ANFIS ([datout datin], fismat2, [200 0
0,1], [], ...
[Chkdatout chkdatin]);
La larga lista de argumentos de salida devuelve una historia de la etapa de
tamaos, el RMSE
en comparacin con los datos de entrenamiento, y el RMSE frente a los datos de
control asociadas
con cada poca de entrenamiento.
ANFIS formacin completa en poca 200.
RMSE formacin mnima = 0.326566
comprobacin mnima RMSE = 0.582545
Esto luce bien. El error con los datos de entrenamiento es el ms bajo que hemos
visto, y
el error con los datos de comprobacin tambin es menor que antes, aunque no
por mucho.
Esto sugiere que tal vez habamos conseguido tan cerca como sea posible con
esta
sistema ya. Tal vez incluso hemos ido tan lejos como para overfit el sistema a la
datos de entrenamiento. Sobreajuste se produce cuando encajamos el sistema
difuso a la formacin
datos tan bien que ya no hace un muy buen trabajo de ajuste de los datos de
comprobacin.
El resultado es una prdida de generalidad. Un vistazo a la historia de error tanto
contra el
datos de entrenamiento y comprobacin de los datos revela mucho.
Aqu podemos ver que el error de entrenamiento se asienta aproximadamente en
el 50

punto de poca. En
De hecho, el valor ms pequeo del error de comprobacin de los datos se
produce en poca 52, despus de
que se incrementa ligeramente, aun cuando
ANFIS
contina para minimizar el error

contra la formacin de datos todo el camino a poca a 200. Dependiendo de la


especificada
Comprobacin de errores
error de entrenamiento
0
20
40
60
80
100
120
140
160
180
200
0,3
0.35
0,4
0.45
0,5
0.55
0,6
0.65
0,7
pocas
Pgina 142

2
Tutorial
2-128
tolerancia de error, esta parcela tambin indica la capacidad del modelo para
generalizar la prueba
datos.
Una herramienta GUI de clsteres
Tambin existe la GUI de clsteres, que implementa
FCM
y
subclust
, junto
con todas sus opciones. Su uso es bastante evidente.
La interfaz grfica de usuario agrupacin se parece a esto, y se invoca mediante
la lnea de comandos

funcin,
findcluster
.
Puede invocar
findcluster
con un conjunto de datos directamente, con el fin de abrir la GUI
con un conjunto de datos. El conjunto de datos debe tener la extensin
.dat
. Por ejemplo, para
cargar el conjunto de datos,
clusterdemo.dat
, tipo
findcluster ( 'clusterdemo.dat')
.
Se utiliza la pestaa desplegable bajo Mtodo para cambiar entre FCM (fuzzy
c-medios) y subtractiv (agrupamiento sustractivo). Ms informacin sobre la
opciones se pueden encontrar en el texto correspondiente a
FCM
en la pgina 3-22 , y
subclust
en la pgina
3-72, respectivamente.
Cargar un conjunto de datos (* .dat)
iniciar la agrupacin
modificacin opciones
con el mtodo
Elija FCM
mtodo de agrupacin.
en su directorio.
los datos.
Elija dos de sus datos
variables para dibujar en
la pantalla. Una vez los datos
es cargado, seleccionarlos
con las pestaas desplegables.
o sustractivo
Guardar el valor de
del centro del cmulo.
pgina 143

Fuzzy Clustering
2-129

La interfaz grfica de usuario La agrupacin trabaja en conjuntos de datos


multidimensionales, pero slo se muestra
dos de esas dimensiones. Utiliza las pestaas desplegables bajo el eje X y el eje
Ya
seleccionar qu datos dimensin que desea ver.
pgina 144

2
Tutorial
2-130
Stand-Alone C-Fuzzy Cdigo motor de inferencia
En el
difusa / difusa
directorio de la caja de herramientas, se pueden encontrar dos archivos de C,
fismain.c
y
fis.c
, Que se proporcionan como los cdigos fuente para difusa un stand-alone
mquina de inferencia. El motor de inferencia borrosa de cdigo C autnomo
puede leer una
archivo de FIS y un archivo de datos de entrada para realizar inferencia borrosa
directamente, o puede ser
incrustado en otras aplicaciones externas.
Para compilar el motor de inferencia difusa autnomo en un sistema UNIX,
escriba
-O% Cc -o fismain fismain.c -lm
(Tenga en cuenta que
%
slo es simblico de un indicador de UNIX, y que usted no tiene que
tipo
fis.c
explcitamente, ya que se incluye en
fismain.c
.) A su xito
compilacin, escriba el comando ejecutable para ver cmo funciona:
% fismain
Esto provoca que el mensaje siguiente:
% Uso: fismain data_file fis_file
Esto significa que
fismain
necesita dos archivos para hacer su trabajo: un archivo de datos que contiene

filas de vectores de entrada, y un archivo de FIS que especifica el sistema de


inferencia borrosa
bajo consideracin.
Por ejemplo, considere un archivo de estructura FIS llamado,
mam21.fis
. Podemos preparar
el archivo de datos de entrada utilizando MATLAB:
[X, y] = meshgrid (-5: 5, -5: 5);
capturar_datos = [x (:) y (:)];
guardar fis_in capturar_datos -ascii
Esto ahorra todos los datos de entrada como una matriz de 121-por-2 en el
archivo ASCII
fis_in
,
donde cada fila de la matriz representa un vector de entrada.
Ahora podemos llamar el cdigo autnomo:
Fismain% fis_in mam21.fis
Esto genera 121 salidas en la pantalla. Puede dirigir a las salidas
otro archivo:
Fismain% fis_in mam21.fis> fis_out
pgina 145

Stand-Alone C-Fuzzy Cdigo motor de inferencia


2-131
Ahora el archivo
fis_out
contiene una matriz de 121 por 1. En general, cada fila de la
matriz de salida representa un vector de salida. La sintaxis de
fismain
es parecido a
su contraparte MEX-archivo
evalfis.m
, Excepto que todas las matrices se reemplazan con
archivos.
Para comparar los resultados de la MEX-archivo de MATLAB y el autnomo
ejecutable, escriba lo siguiente dentro de MATLAB:
fismat = readfis ( 'mam21');
matlab_out = evalfis (capturar_datos, fismat);
fis_out carga
max (max (matlab_out - fis_out))
ans =
4.9583e-13

Esta pequea diferencia proviene de la copia impresa longitud limitada en el


archivo
fis_out
.
Hay varias cosas que usted debe saber acerca de este ejecutable independiente:
Es compatible con las normas ANSI y K & R para el cdigo C, siempre y
cuando
__STDC__
se define en los compiladores ANSI.
funciones personalizadas no estn permitidos en el ejecutable independiente,
por lo que
se limitan a las funciones 11 miembros que vienen con la caja de herramientas,
como se
as como otros ajustes de fbrica para AND, OR, IMP, y funciones AGG.

fismain.c
contiene slo el
principal()
funcin y que est muy documentado
para una fcil adaptacin a otras aplicaciones.
Para aadir una nueva funcin de pertenencia o nuevo mecanismo de
razonamiento en el
independiente de cdigo, es necesario cambiar el archivo
fis.c
, Que contiene toda la
funciones necesarias para llevar a cabo el proceso de inferencia difusa.
Para Macintosh, el comando compilado
fismain
trata de encontrar
fismain.in
y
fismain.fis
como datos de entrada y los archivos de descripcin de la FIS,
respectivamente. los
salida se almacena en
fismain.out
. Estos nombres de archivo se definen dentro de
-Macintosh especfica
#definir
smbolos en
fismain.c

y puede cambiarse si
necesario.
pgina 146

2
Tutorial
2-132
Glosario
Esta seccin est diseada para explicar brevemente algunos de los trminos
especializados que son
derivado de la lgica difusa.
agregacin - la combinacin de los consecuentes de cada regla en una Mamdani
sistema de inferencia borrosa en preparacin para defuzzification.
Adaptativo sistema de inferencia Neuro-Fuzzy (ANFIS) - una tcnica para
sintonizacin automtica sistemas de inferencia de tipo Sugeno con base en datos
de entrenamiento.
antecedente - la parte inicial (o "si") de una regla difusa.
consecuente - la parte final (o "despus") de una regla difusa.
defuzzification - el proceso de transformacin de una salida difusa de un fuzzy
sistema de inferencia en una salida ntida.
grado de pertenencia - la salida de una funcin de pertenencia, este valor es
siempre limitada a entre 0 y 1. Tambin conocido como un valor de pertenencia o
grado de pertenencia.
grado de cumplimiento - ver disparando fuerza .
disparando la fuerza - el grado en que la parte antecedente de una regla difusa
es
satisfecho. La fuerza de disparo puede ser el resultado de una operacin O Y o,
y se da forma a la funcin de salida para la regla. Tambin conocido como el
grado de
cumplimiento.
fuzzification - el proceso de generacin de valores de pertenencia de un fuzzy
variables con funciones de pertenencia.
fuzzy c-means clustering - una tcnica de agrupacin de datos en la que cada
dato
punto pertenece a un grupo hasta un grado determinado por un grado de
pertenencia.
sistema de inferencia borrosa (FIS) - el nombre general para un sistema que
utiliza fuzzy
razonamiento para asignar un espacio de entrada a un espacio de salida.
difusos operadores - AND, OR y NOT. Estos tambin son conocidos como
conectivos lgicos.

conjunto difuso - un conjunto que puede contener elementos slo con un grado
parcial de
afiliacin.
difusa Singleton - un conjunto difuso con una funcin de pertenencia que es la
unidad en una
punto particular y cero en cualquier otro sitio.
pgina 147

Glosario
2-133
implicacin - el proceso de dar forma al conjunto difuso en la consecuente
basado en
los resultados de la antecedente en un FIS de tipo Mamdani.
De tipo Mamdani de inferencia - un tipo de inferencia borrosa en la que los
conjuntos difusos
desde el consecuente de cada regla se combinan a travs de la agregacin
operador y el conjunto difuso resultante se defuzzificado para producir la salida
de la
sistema.
funcin de pertenencia (MF) - una funcin que especifica el grado en que una
entrada dada pertenece a un conjunto o est relacionado con un concepto.
funcin de salida Singleton - una funcin de salida que se da por un pico a una
solo nmero en lugar de una curva continua. En el Cuadro de Lgica Difusa es
slo se admite como parte de un modelo de Sugeno de orden cero.
sustractiva clustering - una tcnica para la generacin automtica de fuzzy
sistemas de inferencia mediante la deteccin de clusters en los datos de
entrenamiento de entrada-salida.
De tipo Sugeno inferencia - un tipo de inferencia borrosa en la que el
consecuente de
cada regla es una combinacin lineal de las entradas. La salida es una lineal
ponderada
combinacin de los consecuentes.
T-conorma - (tambin conocido como S-norma) una funcin de dos entradas que
describe una
superconjunto de los operadores de unin difusa (OR), entre ellos el mximo,
suma algebraica,
y cualquiera de varios T-conormas parametrizados.
T-norma - una funcin de dos entradas que describe un superconjunto de
interseccin borrosa
(Y), incluidos los operadores mnimo, producto algebraico, y cualquiera de los
varios
parametrizados T-normas.

pgina 148

2
Tutorial
2-134
referencias
[Bez81] Bezdek, JC, Reconocimiento de Patrones con funcin objetivo Fuzzy
Algoritmos, Plenum Press, Nueva York, 1981.
[Chi94] Chiu, S., "Fuzzy identificacin modelo basado en la estimacin Cluster"
Journal of Intelligent Systems y Fuzzy , vol. 2, No. 3, septiembre 1994.
[Dub80] Dubois, D. y H. Prade, Fuzzy Sets y Sistemas: Teora y
Aplicaciones , Academic Press, Nueva York, 1980.
[Jan91] Jang, J.-SR, "Uso de modelado difuso generalizadas Redes Neuronales
y Kalman Filter Algoritmo, " Proc. de la Novena Nacional Conf. en artificial
Inteligencia (AAAI-91) , pp. 762-767, julio de 1991.
[Jan93] Jang, J.-SR, "Anfis: inferencia borrosa basada en la adaptacin de la red
Sistemas ", IEEE Transactions on Systems, hombre, y la ciberntica , vol. 23, No.
3, pp. 665-685, mayo de 1993.
controlador difuso [Jan94] Jang, J. y N. SR-Gulley ", basada programacin de
ganancia
diseo ", Proc. de la Conferencia Internacional Conjunta de la Amrica del
Norte
Procesamiento de la informacin borrosa Conferencia Bianual de la Sociedad, el
Industrial
Fuzzy Control y la Conferencia de Sistemas Inteligentes, y el conjunto de la
NASA
Taller de Tecnologa de Redes Neuronales y Lgica Difusa , San Antonio,
Texas, diciembre 1994.
[Jan95] Jang, J.-SR y C.-T. Sol ", modelado y control neuro-fuzzy"
Actas de la IEEE , marzo de 1995.
[Jan97] Jang, J.-SR y C.-T. Sun, Neuro-Fuzzy y Soft Computing: Un
Enfoque de clculo para el Aprendizaje y la inteligencia de mquina , Prentice
Hall,
1997.
[Kau85] Kaufmann, A. y MM Gupta, Introduccin a la aritmtica difusa , VN
Reinhold, 1985.
[Lee90] Lee, C.-C., "lgica difusa en sistemas de control: controlador de lgica
difusa-parts
1 y 2, " IEEE Transactions on Systems, Man, y la ciberntica , vol. 20, No. 2,
pp 404-435, 1990.
[Mam75] Mamdani, EH y S. Assilian, "Un experimento en lingstica

sntesis con un controlador de lgica difusa ", Revista Internacional de HombreMquina


Estudios, vol. 7, No. 1, pp. 1-13, 1975.
pgina 149

referencias
2-135
[Mam76] Mamdani, EH, "Avances en la sntesis de lingstica difusa
controladores ", Revista Internacional de Estudios hombre-mquina , vol. 8, pp.
669-678, 1976.
[Mam77] Mamdani, EH, "Aplicaciones de la lgica difusa a la aproximacin de
razonamiento
usando sntesis lingstica, " IEEE Transactions on Computers , vol. 26, N 12,
Pp. 1182-1191, 1977.
[Sch63] Schweizer, B. y A. Sklar, "funciones asociativas y abstracto
semi-grupos ", Publ. Matemticas Debrecen , 10: 69-81, 1963.
[Sug77] Sugeno, M., "Fuzzy y medidas integrales difusas: una encuesta," (MM
Gupta, GN Saridis, y BR Gaines, editores) Autmatas Fuzzy y Decisin
Procesos , pp. 89-102, North-Holland, Nueva York, 1977.
[Sug85] Sugeno, M., aplicaciones industriales de control difuso , Elsevier
Science
Pub. Co., 1985.
[Wan94] Wang, L.-X., sistemas difusos adaptativos y de control: el diseo y la
estabilidad
anlisis , Prentice Hall, 1994.
[WidS85] Widrow, B. y D. Stearns, proceso de seal adaptativo , Prentice
Hall, 1985.
[Yag80] Yager, R., "En una clase general de conectivas difusas," Fuzzy Sets y
Sistemas , 4: 235-242, 1980.
[Yag94] Yager, R. y D. Filev, "Generacin de reglas difusas por la montaa
La agrupacin, " Journal of Intelligent Systems y Fuzzy , vol. 2, No. 3, pp. 209219,
1994.
[Zad65] Zadeh, LA, "conjuntos difusos," Informacin y Control , vol. 8, pp. 338353,
1965.
[Zad73] Zadeh, LA, "Esbozo de una nueva aproximacin al anlisis de la
compleja
sistemas y procesos de decisin, " IEEE Transactions on Systems, hombre, y
La ciberntica , vol. 3, No. 1, pp. 28-44, enero 1973.
[Zad75] Zadeh, LA, "El concepto de una variable lingstica y su aplicacin a
razonamiento aproximado, partes 1, 2, y 3, " Ciencias de la Informacin de 1975,

8: 199-249, 8: 301-357, 9: 43-80


[Zad88] Zadeh, LA, "Fuzzy Logic", ordenador , vol. 1, No. 4, pp. 83-93, 1988.
[Zad89] Zadeh, LA, "Representacin del conocimiento en la lgica
difusa," IEEE
Las transacciones en Conocimiento e Ingeniera de Datos , Vol. 1, pp. 89-100,
1989.
pgina 150

2
Tutorial
2-136
pgina 151

3
Referencia
Herramientas GUI. . . . . . . . . . . . . . . . . . . . . . 3-2
Las funciones de pertenencia. . . . . . . . . . . . . . . . 3-2
Estructura de Gestin de Datos de FIS. . . . . . . . . . . . 3-3
Tcnicas avanzadas . . . . . . . . . . . . . . . . . 3-4
Los bloques de Simulink. . . . . . . . . . . . . . . . . . . 3-4
Demos. . . . . . . . . . . . . . . . . . . . . . . 3-5
pgina 152

3
Referencia
3-2
Esta seccin del captulo contiene una breve descripcin de todas las funciones
en el
Caja de herramientas de la lgica difusa. Las siguientes tablas contienen las
funciones enumeradas por temas.
Herramientas Visuales
Funciones de Pertenencia
Funcin
Propsito
anfisedit
ANFIS Editor GUI.
borroso
Editor Bsico FIS.
mfedit
Funcin de miembros Editor.
RuleEdit
Editor de reglas y analizador.

ruleview
Regla Visor y el diagrama de inferencia borrosa.
SURFVIEW
Visor de resultados de superficie.
Funcin
Propsito
dsigmf
Diferencia de dos funciones de pertenencia sigmoide.
gauss2mf
Dos caras funcin de pertenencia curva de Gauss.
gaussmf
funcin de pertenencia curva de Gauss.
gbellmf
funcin de pertenencia curva de campana generalizada.
pimf
Pi-en forma de funcin de pertenencia curva.
pgina 153

3-3
Estructura de Gestin de Datos de FIS
psigmf
Producto de dos funciones de pertenencia sigmoidal.
SMF
S-en forma de curva de funcin de pertenencia.
sigmf
funcin de pertenencia curva sigmoide.
trapmf
funcin de pertenencia trapezoidal.
trimf
funcin de pertenencia triangular.
ZMF
Z en forma de funcin de pertenencia curva.
Funcin
Propsito
addmf
Aadir funcin de pertenencia a FIS.
addrule
Aadir regla a FIS.
addvar
Aadir variables a FIS.
defuzz
Defuzzify funcin de pertenencia.

evalfis
Realizar el clculo de inferencia borrosa.
evalmf
Evaluacin funcin de pertenencia genrica.
gensurf
Generar superficie de salida de la FIS.
getfis
Obtener las propiedades del sistema difusos.
mf2mf
Traducir parmetros entre funciones.
newfis
Crear nueva FIS.
parsrule
Analizar las reglas difusas.
plotfis
Pantalla FIS estructura de entrada-salida.
plotmf
Trazar todas las funciones de pertenencia asociadas
con una variable dada.
Funcin
Propsito
pgina 154

3
Referencia
3-4
Tcnicas avanzadas
Los bloques de Simulink
readfis
FIS cargar desde el disco.
rmmf
Retire funcin de pertenencia de la FIS.
rmvar
Retire variable a partir de la FIS.
setfis
Establecer las propiedades de sistemas difusos.
showfis
Mostrar FIS anotada.
showrule
Mostrar las reglas de la FIS.
writefis
Guardar FIS en el disco.

Funcin
Propsito
ANFIS
rutina de entrenamiento para una FIS de tipo Sugeno (slo MEX).
FCM
Encuentra las agrupaciones con FCM agrupacin.
genfis1
Generar matriz de FIS usando mtodo de la cuadrcula.
genfis2
Generar matriz de FIS usando agrupamiento sustractivo.
subclust
Encuentra centros de los conglomerados con el agrupamiento sustractivo.
Funcin
Propsito
fuzblock
Fuzzy bloques del controlador lgico y bloques de demostracin.
sffis
inferencia borrosa S-funcin.
Funcin
Propsito
pgina 155

3-5
Poblacin
Funcin
Propsito
defuzzdm
defuzzification mtodos.
fcmdemo
demostracin agrupacin FCM (2-D).
fuzdemos
GUI para demostraciones Toolbox lgica difusa.
gasdemo
ANFIS demostracin de la eficiencia del combustible mediante subclustering.
malabarista
Ball-malabarista con el Visor de Reglas.
invkine
La cinemtica inversa de un brazo de robot.
irisfcm
demostracin agrupacin FCM (4-D).
noisedm
cancelacin de ruido adaptativo.

SLBB
control del baln y la viga (Simulink).
SLCP
control de pndulo invertido (Simulink).
sltank
control de nivel de agua (Simulink).
sltankrule
control de nivel de agua con la Regla Visor (Simulink).
sltbu
Camin-patrocinador superior (Simulink solamente).
pgina 156

addmf
3-6
3addmf
Propsito
Agregar una funcin de pertenencia a una FIS.
Sinopsis
a = addmf (a, 'varType', varIndex, 'mfName', 'mfType', mfParams)
Descripcin
Una funcin de pertenencia slo puede ser aadido a una variable en una
MATLAB existente
FIS espacio de trabajo. Los ndices son asignados a funciones de pertenencia en
el orden en
que se aaden, por lo que la primera funcin de pertenencia aaden a una
variable de voluntad
Siempre se conoce como funcin de pertenencia del nmero uno para esa
variable. T
No se puede agregar una funcin de pertenencia a la variable de entrada nmero
dos de un sistema si
slo una entrada se ha definido.
La funcin requiere seis argumentos de entrada en el siguiente orden:
1
Un MATLAB nombre de variable de una estructura FIS en el espacio de trabajo
2
Una cadena que representa el tipo de variable que desea aadir el nmero de
miembros
funcin para ( '
entrada'
o"
salida'
)

3
El ndice de la variable que desea aadir la funcin de pertenencia a
4
Una cadena que representa el nombre de la nueva funcin de pertenencia
5
Una cadena que representa el tipo de la nueva funcin de pertenencia
6
El vector de parmetros que especifican la funcin de pertenencia
pgina 157

addmf
3-7
Ejemplo
a = newfis ( 'volquete');
a = addvar (a, "entrada", "servicio", [10 0]);
a = addmf (a, 'de entrada', 1, 'pobres', 'gaussmf', [1,5 0]);
a = addmf (a, 'de entrada', 1, 'bueno', 'gaussmf', [1,5 5]);
a = addmf (a, 'de entrada', 1, 'excelente', 'gaussmf', [1,5 10]);
plotmf (a, 'de entrada', 1)
Ver tambin
addrule
,
addvar
,
plotmf
,
rmmf
,
rmvar
0
1
2
3
4
5
6
7
8
9
10
0
0,2

0,4
0,6
0,8
1
Servicio
re
egree o
F
segundo
mi
li
mi
F
pobre
bueno
excelente
pgina 158

addrule
3-8
3addrule
Propsito
Aadir una regla para una FIS.
Sinopsis
a = addrule (a, ruleList)
Descripcin
addrule
tiene dos argumentos. El primer argumento es el espacio de trabajo de MATLAB
Nombre del FIS variable. El segundo argumento para
addrule
es una matriz de uno o ms
filas, cada una de las cuales representa una regla determinada. El formato que la
matriz lista de reglas
debe tomar es muy especfica. Si hay m entradas a un sistema y n salidas, hay
debe ser exactamente m + n + 2 columnas a la lista de reglas.
Las primeras m columnas se refieren a las entradas del sistema. Cada columna
contiene una
nmero que se refiere al ndice de la funcin de pertenencia para esa variable.
Los prximos n columnas se refieren a las salidas del sistema. Cada columna
contiene una
nmero que se refiere al ndice de la funcin de pertenencia para esa variable.
El m + n + 1 columna contiene el peso que se va a aplicar a la regla. los

peso debe ser un nmero entre cero y uno, y generalmente se deja como una.
El m + n + 2 columna contiene un 1 si el operador difuso para antecedente de la
regla
es y. Contiene un 2 si el operador difuso es OR.
Ejemplo
ruleList = [
11111
1 2 2 1 1];
a = addrule (a, ruleList);
Si el sistema anteriormente
un
tiene dos entradas y una salida, la primera regla puede ser
interpretado como: "Si la entrada 1 es MF 1 y la entrada 2 es MF 1, entonces la
salida 1 est MF 1."
Ver tambin
addmf
,
addvar
,
rmmf
,
rmvar
,
parsrule
,
showrule
pgina 159

addvar
3-9
3addvar
Propsito
Agregar una variable a un FIS.
Sinopsis
a = addvar (a, 'varType', 'varName', varBounds)
Descripcin
addvar
tiene cuatro argumentos en este orden:
1
El nombre de una estructura FIS en el espacio de trabajo de MATLAB
2
Una cadena que representa el tipo de la variable que desea agregar ( '

entrada'
o
'
salida'
)
3
Una cadena que representa el nombre de la variable que desea aadir
4
El vector que describe los valores de rango limitantes para la variable que desea
aadir
Los ndices se aplican a las variables en el orden en que se aaden, por lo que la
primera variable de entrada aadido a un sistema siempre se conoce como
variable de entrada
nmero uno para ese sistema. Las variables de entrada y de salida se numeran
independientemente.
Ejemplo
a = newfis ( 'volquete');
a = addvar (a, "entrada", "servicio", [10 0]);
getfis (a, 'de entrada', 1)
respuestas de MATLAB
Name = servicio
NumMFs = 0
MFLabels =
Rango = [0 10]
Ver tambin
addmf
,
addrule
,
rmmf
,
rmvar
pgina 160

ANFIS
3-10
3anfis
Propsito
rutina de entrenamiento de tipo Sugeno FIS (MEX solamente).
Sinopsis
[Fismat, error1, stepsize] = ANFIS (trnData)
[Fismat, error1, stepsize] = ANFIS (trnData, fismat)

[Fismat1, error1, stepsize] = ...


ANFIS (trnData, fismat, trnOpt, dispOpt)
[Fismat1, error1, tamao de paso, fismat2, error2] = ...
ANFIS (trnData, trnOpt, dispOpt, chkData)
[Fismat1, error1, tamao de paso, fismat2, error2] = ...
ANFIS (trnData, trnOpt, dispOpt, chkData, optMethod)
Descripcin
Esta es la rutina de entrenamiento importante para los sistemas de inferencia
difusa de tipo Sugeno.
ANFIS
utiliza un algoritmo de aprendizaje hbrido para identificar parmetros de Sugeno
de tipo
sistemas de inferencia difusos. Se aplica una combinacin del mtodo de
mnimos cuadrados
y el mtodo de descenso de gradiente de propagacin hacia atrs para el
entrenamiento de esqu alpino
parmetros de la funcin de pertenencia para emular un conjunto de datos de
entrenamiento dado.
ANFIS
Tambin pueden ser invocadas usando un argumento opcional para la validacin
del modelo. El tipo
de validacin del modelo que se lleva a cabo con esta opcin es una cuenta de
cheques para el modelo
sobreajuste, y el argumento es un conjunto de datos denominado el control de
conjunto de datos.
Los argumentos a la descripcin anterior para
ANFIS
son como sigue:

trnData
: El nombre de un conjunto de datos de entrenamiento. Esta es una matriz con
todos, pero el
ltima columna que contiene los datos de entrada, mientras que la ltima
columna contiene una sola
vector de datos de salida.

fismat
: El nombre de un FIS, (sistema de inferencia borrosa) utilizado para
proporcionar
ANFIS

con un conjunto inicial de funciones de pertenencia para la formacin. Sin esta


opcin,
ANFIS
utilizar
genfis1
para implementar un FIS inicial por defecto para la formacin. Esta
FIS por defecto tendr dos funciones de pertenencia de tipo gaussiano, cuando
invocado con slo un argumento. Si
fismat
se proporciona como un solo nmero (o
un vector), se toma como el nmero de funciones de pertenencia (o el vector
cuyas entradas son los nmeros respectivos de funciones de pertenencia
asociado a cada entrada respectiva cuando estos nmeros son diferentes para cada
entrada). En este caso , los dos argumentos de
ANFIS
se pasan a
genfis1
a
generar una estructura FIS vlida antes de iniciar el proceso de formacin.
pgina 161

ANFIS
3-11

trnOpt
: Vector de opciones de formacin. Cuando cualquier opcin de entrenamiento se
introduce como
Yaya
las opciones por defecto estarn en vigor. Estas opciones son las siguientes:
trnOpt (1)
: Nmero de formacin poca (por defecto: 10)
trnOpt (2)
: Meta del error de entrenamiento (por defecto: 0)
trnOpt (3)
: Tamao del paso inicial (por defecto: 0.01)
trnOpt (4)
: Tamao de paso de tasa de disminucin (por defecto: 0,9)
trnOpt (5)
: Aumento de tamao de paso de tasa (por defecto: 1.1)

dispOpt

: Vector de opciones de visualizacin que especifica cul es el mensaje que se


mostrar en la
ventana de comandos de MATLAB durante el entrenamiento. El valor por
defecto para cualquier
opcin de visualizacin es
1
, Lo que significa que se muestra la informacin correspondiente.
UN
0
significa la informacin correspondiente no se visualiza en la pantalla.
Cuando cualquier opcin de visualizacin se introduce como
Yaya
, Las opciones por defecto estarn en
fuerza. Estas opciones son las siguientes:
dispOpt (1)
: ANFIS informacin, tales como nmeros de entrada y de salida
funciones de pertenencia, y as sucesivamente (por defecto: 1)
dispOpt (2)
: Error (por defecto: 1)
dispOpt (3)
: Tamao de paso en cada actualizacin de parmetros (por defecto: 1)
dispOpt (4)
: Los resultados finales (por defecto: 1)

chkData
: El nombre de un conjunto de datos opcional para comprobar el sobreajuste del
modelo
validacin. Este conjunto de datos es una matriz en el mismo formato que los
datos de entrenamiento
conjunto.

optMethod
: Mtodo de optimizacin opcional utiliza en funcin de pertenencia
la formacin de parmetros: o
1
para el mtodo hbrido o
0
para el
mtodo de propagacin hacia atrs. El mtodo predeterminado es el mtodo
hbrido, que es

una combinacin de por lo menos la estimacin cuadrados con propagacin hacia


atrs. El valor por defecto
mtodo se invoca cada vez que la entrada para este argumento es cualquier cosa
menos
0
.
El proceso de formacin se detiene cuando se alcanza el nmero designado poca
o se alcanza la meta error de entrenamiento.
pgina 162

ANFIS
3-12
Nota sobre ANFIS argumentos:
Cuando
ANFIS
se invoca con dos o ms
argumentos, los argumentos opcionales se enfrentar a sus valores por defecto si
se contabilizan como
Yaya
s o matrices vacas. Los valores por defecto se pueden cambiar directamente
modificando el archivo
anfis.m
. Ya sea
Yaya
s o vacos matrices deben ser utilizados como
colocar los titulares de las variables si no desea especificar ellos, pero no quieren
especificar argumentos xito, por ejemplo, cuando se implementa la
comprobacin
opcin de datos de
ANFIS
.
Las variables de rango en la descripcin de arriba para las
ANFIS
son como sigue:

fismat1
es la estructura FIS cuyos parmetros se fijan de acuerdo a una
criterio de error mnimo de entrenamiento.

error1 o error2
es una matriz de raz media de errores cuadrados que representan el

seal de datos de formacin de error y la seal de error de comprobacin de


datos, respectivamente.

Numero de pie
es un conjunto de tamaos de paso. El tamao del paso se reduce (multiplicando
con el componente de la opcin de formacin que corresponde al tamao de paso
disminuir la frecuencia) si la medida de error se somete a dos combinaciones
consecutivas
de un aumento seguido por una disminucin. se aumenta el tamao de paso (por
multiplicndola con la tasa de aumento) si la medida de error se somete a cuatro
descensos consecutivos.

fismat2
es la estructura FIS cuyos parmetros se fijan de acuerdo a una
criterio de comprobacin de errores mnimo.
pgina 163

ANFIS
3-13
Ejemplo
x = (0: 0,1: 10) ';
y = sin (2 * x) ./ exp (x / 5);
trnData = [xy];
numMFs = 5;
mfType = 'gbellmf';
epoch_n = 20;
in_fismat = genfis1 (trnData, numMFs, mfType);
out_fismat = ANFIS (trnData, in_fismat, 20);
plot (x, y, x, evalfis (x, out_fismat));
leyenda ( "Datos Formacin ',' Anfis salida ');
Ver tambin
genfis1
,
ANFIS
referencias
Jang, J.-SR, "Modelado Difuso El uso de redes neuronales y generalizadas
Kalman Filter Algoritmo, " Proc. de la Novena Nacional Conf. en artificial
Inteligencia (AAAI-91) , pp. 762-767, julio de 1991.
Jang, J.-SR, "ANFIS: basada en la adaptacin de la red Fuzzy Inferencia
Systems,"
IEEE Transactions on Systems, Man, y la ciberntica , vol. 23, No. 3, pp.
665-685, mayo de 1993.

Pgina 164

anfisedit
3-14
3anfisedit
Propsito
Para abrir el Editor de ANFIS interfaz grfica de usuario.
Sinopsis
anfisedit ( 'a')
anfisedit (a)
anfisedit
Descripcin
Utilizando
anfisedit
, Que abrir el Editor de ANFIS interfaz grfica de usuario desde la que se puede
cargar
un conjunto de datos y el tren
ANFIS
. El ANFIS Editor de interfaz grfica de usuario invoca mediante
Los datos de prueba contra
el modelo FIS. los
figura aparece en el
zona de dibujo.
Los datos que aparecen en la Prueba de
parcela en azul como
Los datos que aparecen en la formacin
la trama en azul como
Comprobacin de datos aparece en
la trama en azul como
FIS salida aparece en la
pantalla en rojo como
...
ooo
+++
***
Cargar o guardar difusa
sistema de Sugeno o abiertos
nuevo sistema de Sugeno.
Deshacer
FIS abrir o editar con cualquier
de las otras interfaces grficas de usuario.
Estado del nmero de entradas,

salidas, funciones de pertenencia de entrada


y funciones de pertenencia de salida
Cargar ya sea la formacin,
prueba o comprobacin
datos desde el disco o
espacio de trabajo, o la carga
datos de demostracin. Datos
aparece en la trama
regin.
Borrar datos
descarga una carga de datos
controlar en conjunto
Tipo:
.
La zona de dibujo se borra incluso si otra
tipos de datos se siguen cargando.
Cargar FIS o generar FIS
a partir de los datos cargados utilizando
su nmero elegido de FMs
y reglas o difusa.
Capacitar a FIS despus de establecer la optimizacin
mtodo, la tolerancia de error, y el nmero de
de pocas. Esto genera tramas de error
en la regin de trama.
Despus de generar
o cargar una FIS, este
botn le permite
abrir una grfica
representacin de su
de entrada y salida
estructura.
zona de dibujo
pgina 165

anfisedit
3-15
anfisedit ( 'a')
, Nos lleva a la ANFIS Editor de interfaz grfica de usuario desde el que puede
implementar
ANFIS
utilizando una estructura FIS almacena como un archivo en su disco denominado,
a.fis.

anfisedit (a)
opera de la misma manera para una estructura FIS
un
, Se almacena como una variable
en el espacio de trabajo de MATLAB.
Consulte la "ANFIS y el editor de interfaz grfica de usuario ANFIS" en la
pgina 2-92 para obtener ms informacin
acerca de cmo utilizar
anfisedit.
Elementos de men
En el Editor de ANFIS interfaz grfica de usuario, hay una barra de men que le
permite abrir relacionados
Herramientas de la GUI, abrir y guardar los sistemas, y as
sucesivamente. El archivo de men es el mismo que el
que se encuentra en el Editor de esqu alpino. Referirse a
borroso
en la pgina 3-29 para obtener ms informacin.
Use la siguiente Editar elemento de men:
Deshacer para deshacer el cambio ms reciente.
Use las siguientes Ver elementos del men:
Editar propiedades de la FIS ... para invocar el Editor de esqu alpino.
Editar reglas ... para invocar el editor de reglas.
Funciones de pertenencia Editar ... para invocar el Editor de miembro de
funcin.
Ver reglas ... para invocar el Visor de Reglas.
Ver la superficie ... para invocar el Visor de superficie.
Ver tambin
borroso
,
mfedit
,
RuleEdit
,
ruleview
,
SURFVIEW
pgina 166

convertfis
3-16
3convertfis
Propsito

Convertir una versin Lgica Difusa Caja de herramientas 1.0 FIS matriz a una
versin 2.0 de esqu alpino
estructura.
Sinopsis
fis_new = convertfis (fis_old)
Descripcin
convertfis
realiza un 1,0 FIS matriz versin y la convierte en una versin 2.0
estructura.
pgina 167

defuzz
3-17
3defuzz
Propsito
Defuzzify funcin de pertenencia.
Sinopsis
defuzz cabo = (x, mf, tipo)
Descripcin
defuzz (x, mf, tipo)
devuelve un valor defuzzificado
fuera,
de una funcin de pertenencia
mf
Colocado al valor variable asociada
x
, Usando una de las varias defuzzification
estrategias, de acuerdo con el argumento,
tipo
. La variable
tipo
puede ser uno de la
siguiendo.

centroide
: Centroide del mtodo de rea

bisectriz
: Bisectriz del mtodo de rea

mam
: Media de mtodo de mxima


som
: Ms pequeo de mtodo de mxima

Lom
: Ms grande del mtodo de mxima
Si
tipo
no es uno de los anteriores, se supone ser una funcin definida por el usuario.
x
y
mf
se pasan a esta funcin para generar la salida defuzzificado.
Ejemplos
x=
10: 0,1: 10;
mf = trapmf (x, [
10
8
4 7]);
xx = defuzz (x, mf, 'centro de gravedad');
pgina 168

dsigmf
3-18
3dsigmf
Propsito
Construido en funcin de la pertenencia compuesto por la diferencia entre los dos
sigmoidal funciones de pertenencia.
Sinopsis
y = dsigmf (x, [a1 a2 c1 c2])
Descripcin
La funcin de pertenencia sigmoidal utilizado aqu depende de los dos
parmetros
una y c y viene dada por
La funcin de pertenencia
dsigmf
depende de cuatro parmetros,

a1
,
c1
,
a2
y
c2
, Y es la diferencia entre dos de estas funciones sigmoideas:
F
1
( X ; A1 , c
1
)-F
2
( X ; a2 , c
2
)
Los parmetros se enumeran en el orden: [ a1 c
1
un
2
do
2
].
Ejemplo
x = 0: 0.1: 10;
y = dsigmf (x, [5 2 5 7]);
plot (x, y)
xlabel ( 'dsigmf, P = [5 2 5 7]')
Ver tambin
gaussmf
,
gauss2mf
,
gbellmf
,
evalmf
,
mf2mf
,
pimf

,
psigmf
,
sigmf
,
SMF
,
trapmf
,
trimf
,
ZMF
fxa ; c
(
)
1
1e
axc
(
)
+
------------------------------=
0
2
4
6
8
10
0
0.25
0,5
0.75
1
dsigmf, P = [5 2 5 7]
pgina 169

evalfis
3-19
3evalfis

Propsito
Realizar clculos de inferencia difusos.
Sinopsis
salida = evalfis (entrada, fismat)
salida = evalfis (entrada, fismat, numPts)
[Salida, TIR, la ORR, ARR] = evalfis (entrada, fismat)
[Salida, TIR, la ORR, ARR] = evalfis (entrada, fismat, numPts)
Descripcin
evalfis
tiene los siguientes argumentos:

entrada
: Un nmero o una matriz que especifica los valores de entrada. Si
entrada
es un M-por-N
matriz, donde N es el nmero de variables de entrada, a continuacin,
evalfis
toma cada fila
de
entrada
como un vector de entrada y devuelve la matriz M-por-L para la variable,
salida
, Donde cada fila es un vector de salida y L es el nmero de salida
variables.

fismat
: Una estructura de FIS a evaluar.
numPts: un argumento opcional que representa el nmero de puntos de muestra
sobre la cual evaluar las funciones de pertenencia sobre la entrada o salida
distancia. Si no se utiliza este argumento, se utiliza el valor por defecto de 101
puntos.
Las etiquetas de rango para
evalfis
son como sigue:

salida
: La matriz de salida de tamao M-por-L, donde M representa el nmero de
valores de entrada especificado anteriormente, y L es el nmero de variables de
salida para el
FIS.
Las variables de rango opcionales para

evalfis
solamente se calculan cuando el
entrada
argumento es un vector fila, (se aplica slo un conjunto de entradas). estos
opcional
variables de rango son:

TIR
: El resultado de la evaluacin de los valores de entrada a travs de la membresa
funciones. Esta es una matriz de tamao numRules -by- N , donde numRules es el
nmero de reglas, y N es el nmero de variables de entrada.

TRG
: El resultado de la evaluacin de los valores de salida a travs de los miembros
funciones. Esta es una matriz de tamao
numPts
-by- numRules * L , donde numRules
es el nmero de reglas, y L es el nmero de salidas. Los primeros numRules
columnas de esta matriz corresponden a la primera salida, los
prximos numRules
columnas de esta matriz corresponden a la segunda salida, y as sucesivamente.

ARR
:el
numPts
-by- L matriz de los valores agregados en la muestra
numPts
a lo largo
el rango de salida para cada salida.
pgina 170

evalfis
3-20
Cuando se invoca con una sola variable de rango, esta funcin calcula la salida
vector,
salida,
del sistema de inferencia borrosa especificado por la estructura,
fismat
, Para el valor de entrada especificado por el nmero o matriz,
entrada
.
Ejemplo

fismat = readfis ( 'volquete');


OUT = evalfis ([2 1 4; 9], fismat)
Esto genera la respuesta
fuera =
7.0169
19.6810
Ver tambin
ruleview
,
gensurf
pgina 171

evalmf
3-21
3evalmf
Propsito
Evaluacin funcin de pertenencia genrica.
Sinopsis
y = evalmf (x, mfParams, mfType)
Descripcin
evalmf
evala cualquier funcin de pertenencia, donde
x
es el rango de la variable de
la evaluacin de funcin de pertenencia,
mfType
es una funcin de pertenencia de
la caja de herramientas, y
mfParams
son parmetros adecuados para esa funcin.
Si desea crear su propia funcin de pertenencia de encargo,
evalmf
seguir siendo
trabajar, porque evala cualquier funcin de pertenencia cuyo nombre no lo hace
reconocer.
Ejemplos
x = 0: 0.1: 10;
mfparams = [2 4 6];
mftype = 'gbellmf';
y = evalmf (x, mfparams, mftype);
plot (x, y)
xlabel ( 'gbellmf, P = [2 4 6]')

Ver tambin
dsigmf
,
gaussmf
,
gauss2mf
,
gbellmf
,
mf2mf
,
pimf
,
psigmf
,
sigmf
,
SMF
,
trapmf
,
trimf
,
ZMF
0
2
4
6
8
10
0
0.25
0,5
0.75
1
gbellmf, P = [2 4 6]
pgina 172

FCM
3-22
3fcm
Propsito

Fuzzy c-means clustering.


Sinopsis
[Central, T, obj_fcn] = FCM (datos, cluster_n)
Descripcin
[Central, T, obj_fcn] = FCM (datos, cluster_n)
aplica los c-means borroso
mtodo de agrupacin a un determinado conjunto de datos.
Los argumentos de entrada de esta funcin son:

datos
: conjunto de datos que se agrupan; cada fila es un punto de datos de la muestra

cluster_n
: Nmero de grupos (ms de una)
Los argumentos de salida de esta funcin son:

centrar
: Matriz de centros de los conglomerados finales donde cada fila proporciona el
centro
coordenadas

T
: Matriz de particin difusa final (o matriz de funcin de pertenencia)

obj_fcn
: valores de la funcin objetivo durante iteraciones
FCM (datos, cluster_n, opciones)
utiliza una variable argumento adicional,
opciones,
para controlar los parmetros de agrupamiento, introducir un criterio de parada, y
/
o ajustar la visualizacin de la informacin iteracin:
Opciones (1)
: Exponente de la matriz de particin
T
(Por defecto: 2.0)
Opciones (2)
: Nmero mximo de iteraciones (por defecto: 100)
Opciones (3)
: Cantidad mnima de mejora (por defecto: 1e-5)
Opciones (4)

: Pantalla de informacin durante la iteracin (por defecto: 1)


Si cualquier entrada de
opciones
es
Yaya,
el valor por defecto para esa opcin se utiliza en su lugar.
El proceso de agrupacin se detiene cuando el nmero mximo de iteraciones es
alcanzado, o cuando la mejora de la funcin objetivo entre dos consecutivo
iteraciones es menor que la cantidad mnima de mejora especificado.
pgina 173

FCM
3-23
Ejemplo
datos = rand (100, 2);
[center, U, obj_fcn] = FCM (datos, 2);
(trama de datos (:, 1), datos (:, 2), o);
maxU = max (U);
index1 = find (T (1, :) == maxU);
index2 = find (T (2, :) == maxU);
(lnea de datos (index1,1), datos (index1, 2), 'LINESTYLE', 'none',
"Marcador", "*",
"Color", "g");
(lnea de datos (index2,1), datos (index2, 2), 'LINESTYLE', 'none',
"Marcador", "*",
"Color", "r");
pgina 174

findcluster
3-24
3findcluster
Propsito
Interfaz grfica de usuario interactiva para la agrupacin fuzzy c-means y
subclustering.
Sinopsis
findcluster
findcluster ( 'archivo.dat')
Descripcin
findcluster
El resultado ser una interfaz grfica de usuario para implementar c-means
difusos ( FCM ) y / o difusa

agrupamiento sustractivo ( subtractiv ) usando la pestaa desplegable bajo el


Mtodo de
la interfaz grfica de usuario. Los datos se introducen mediante la carga de
datos botn. Las opciones para cada uno de
estos mtodos se ajustan a los valores por defecto. Estos pueden ser
cambiados. Una descripcin de
las opciones para fuzzy c-means se encuentra en
FCM
en la pgina 3-22. Una descripcin de la
Opciones para subclustering difusa se encuentra en
subclust
en la pgina 3-72 .
Esta herramienta funciona en conjuntos de datos multidimensionales, pero slo
muestra dos de los
dimensiones. Utiliza las pestaas desplegables bajo el eje X y el eje Y para
seleccionar qu
datos de la dimensin que desea ver. Por ejemplo, si tiene datos que es
cinco dimensiones, esta herramienta etiquetas de los datos
como datos_1 , datos_2 , data_3 , data_4 ,
data_5 , en el orden en que los datos aparecen en el conjunto de
datos. Inicio har
realizar la agrupacin, y Guardar Centro salvar el centro de la agrupacin.
Cuando se opera en un conjunto de datos,
archivo.dat
,
findcluster
(
archivo.dat
) Carga el
conjunto de datos de forma automtica, el trazado hasta las dos primeras
dimensiones de slo los datos.
pgina 175

findcluster
3-25
Todava se puede elegir qu dos dimensiones de los datos que desea agrupar
despus
la interfaz grfica de usuario aparece.
Ejemplo
findcluster ( 'clusterdemo.dat')
Ver tambin
FCM

,
subclust
pgina 176

fuzarith
3-26
3fuzarith
Propsito
Para llevar a cabo la aritmtica difusa.
Sinopsis
C = fuzarith (X
,
UN
,
segundo
,
operador)
Descripcin
El uso de aritmtica de intervalos,
C = fuzarith (X
,
UN
,
segundo
,
operador)
devuelve un conjunto difuso
do
como el resultado de aplicar la funcin representada por la cadena,
operador
,
que realiza una operacin binaria en los conjuntos borrosos convexos
muestreados
UN
y
SEGUNDO.
los
elementos de
UN
y
segundo
se derivan de las funciones convexas del universo muestreado,

x
.

UN
,
segundo
y
x
son vectores de la misma dimensin.

operador
es una de las siguientes cadenas:
'suma'
,
'sub'
,
'pinchar'
y
'Div'
.
El conjunto difuso devuelto
do
es un vector columna con la misma longitud que
x
.
Observacin
Adems difusa podra generar el mensaje: divisin por cero , pero esto no ser
afectar a la exactitud de esta funcin.
Ejemplo
point_n = 101;% este determina la resolucin de MF
MIN_X = -20; Max_X = 20;% universo es [MIN_X, Max_X]
x = linspace (MIN_X, Max_X, point_n) ';
A = trapmf (x, [-10 -2 1 3]);% trapezoidal conjunto borroso
B = gaussmf (x, [2 5]);% de Gauss conjunto difuso B
C1 = fuzarith (X, A, B, "suma");
subtrama (2,1,1);
plot (x, A, 'B--', X, B, 'm:', x, C1, 'c');
ttulo ( "fuzzy Adems A + B ');
C2 = fuzarith (X, A, B, 'sub');
subtrama (2,1,2);
plot (x, A, 'B--', X, B, 'm:', x, C2, 'c');

ttulo ( "fuzzy resta A-B ');


C3 = fuzarith (X, A, B, 'prod');
pgina 177

fuzblock
3-27
3fuzblock
Propsito
Simulink bloque controlador de lgica difusa.
Sinopsis
fuzblock
Descripcin
Este comando lleva a un sistema de Simulink que, adems de algunos Simulink
bloques de demostracin, contiene dos bloques de Simulink se pueden utilizar:
El Controlador de Lgica Difusa
El Controlador de Lgica Difusa con el artculo Visor, (vase tambin
ruleview
en la pgina
3-61 ). Este bloque obliga al Visor de Reglas para hacer estallar abierto durante
una Simulink
simulacin.
El cuadro de dilogo asociado con cualquiera de estos bloques se encuentra
haciendo doble clic
en el bloque controlador lgico Fuzzy. Esta caja contiene el nombre de la FIS
estructura en el espacio de trabajo que se corresponde con el sistema difuso que
se desea
desear en su modelo de Simulink.
Para abrir este cuadro de dilogo para el Controlador de Lgica Difusa Con
bloque de Visor de Reglas,
tienes que
1
Haga doble clic en este bloque, y un diagrama de Simulink con una Lgica
Difusa
Se abre el bloque controlador.
2
Haga doble clic en el segundo bloque del Controlador de Lgica Difusa que se
abra.
Si el sistema de inferencia borrosa dispone de varias entradas, estas entradas
deben estar
multiplexados juntos antes de la alimentacin de ellos en cualquiera de la Lgica
Difusa

Tratamiento o del Controlador de Lgica Difusa Con bloque de Visor de


Reglas. Del mismo modo, si
el sistema tiene varias salidas, sern superadas estas seales fuera del bloque
en una lnea multiplexada.
Ver tambin
sffis
,
ruleview
pgina 178

fuzdemos
3-28
3fuzdemos
Propsito
Lista de todos los grupos demogrficos Toolbox lgica difusa.
Sinopsis
fuzdemos
Descripcin
Esta funcin abre una interfaz grfica de usuario que le permite elegir entre
cualquiera de los varios
Demos Lgica Fuzzy Toolbox listados bajo "Demos" en la pgina 3-5.
pgina 179

borroso
3-29
3fuzzy
Propsito
Para invocar el editor bsico de esqu alpino.
Sinopsis
borroso
difusa (fismat)
Esta herramienta de interfaz grfica de usuario le permite editar las caractersticas
del ms alto nivel de la inferencia borrosa
sistema, como el nmero de variables de entrada y de salida, la defuzzification
mtodo utilizado, y as sucesivamente. Consulte la "FIS El Editor" en la pgina
2-49 una ff nd., Para ms
informacin sobre cmo utilizar las interfaces grficas de usuario asociados con
borroso
.
El Editor de FIS es la pantalla de alto nivel para cualquier sistema de inferencia
lgica difusa. Eso
le permite llamar a los dems editores para operar en el FIS. Esta interfaz

permite un cmodo acceso a todos los otros editores con nfasis en la mxima
flexibilidad para la interaccin con el sistema difuso.
El diagrama
El diagrama que aparece en la parte superior de la ventana muestra las entradas,
salidas y
un procesador de reglas difusas central. Haga clic en uno de los cuadros de
variables para hacer el
caja seleccionada la variable actual. Debera ver el cuadro resaltado en rojo.
Haga doble clic en una de las variables para que aparezca la funcin de
pertenencia
Editor. Haga doble clic en el procesador de reglas difusas para abrir el editor de
reglas. Si
pgina 180

borroso
3-30
una variable existe pero no se menciona en la base de reglas, que est conectado
a la
gobernar bloque procesador con una lnea discontinua en lugar de una lnea
continua.
Elementos de men
El Editor de FIS muestra una barra de men que le permite abrir herramientas
GUI relacionados,
abrir y guardar los sistemas, y as sucesivamente.
Bajo Archivo seleccione:
Nueva Mamdani FIS ... para abrir un nuevo sistema de estilo Mamdani sin
variables y no hay reglas llamadas
Intitulado
.
Nueva Sugeno FIS ... para abrir un nuevo sistema de estilo Sugeno sin variables
y no hay reglas llamados
Intitulado
.
Abra desde el disco ... para cargar un sistema desde un especificado
.fis
archivo en el disco.
Guardar en disco para salvar el sistema actual a una
.fis
archivo en el disco.
Guardar en el disco como ... para salvar el sistema actual en el disco con la
opcin de
cambiar el nombre o la ubicacin del archivo.

Abierto de espacio de trabajo ... para cargar un sistema a partir de una


estructura FIS especificada
variable en el espacio de trabajo.
Guardar en espacio de trabajo ... para salvar el sistema a la actualidad como el
FIS
variable de estructura en el espacio de trabajo.
Guardar en la rea de trabajo como ... para salvar el sistema a una estructura
especificada FIS
variable en el espacio de trabajo.
Cerrar ventana para cerrar la interfaz grfica de usuario.
Bajo Editar seleccione:
Aadir entrada para aadir otra entrada al sistema actual.
Aadir salida de aadir otro de salida para el sistema actual.
Retire la variable para eliminar una variable seleccionada.
Deshacer para deshacer el cambio ms reciente.
Bajo Ver seleccionar:
Editar los BM ... para invocar el editor de miembro de funcin.
Editar reglas ... para invocar el editor de reglas.
Editar Anfis ... para invocar el Editor ANFIS para los sistemas de Sugeno salida
nica
solamente.
Ver reglas ... para invocar el Visor de Reglas.
Ver la superficie ... para invocar el Visor de superficie.
pgina 181

borroso
3-31
Inferencia
MethodPop-up
mens
Cinco mens emergentes se proporcionan para cambiar la funcionalidad bsica
de los cinco
pasos en el proceso de implicacin difusa:
Y Mtodo : Elija
min
,
pinchar
o
Personalizado
, Para una operacin de medida.
O mtodo : Elija
max

,
probor
(Probabilstica o), o
Personalizado
, Para un encargo
operacin.
Mtodo Implicacin : Elija
min
,
pinchar
o
Personalizado
, Para una operacin de medida.
Esta seleccin no est disponible para el estilo-Sugeno inferencia borrosa.
Mtodo de agregacin : Elija
max
,
suma
,
probor
o
Personalizado
, Para un encargo
operacin. Esta seleccin no est disponible para el estilo-Sugeno inferencia
borrosa.
Mtodo Defuzzificacin : Para la inferencia de estilo Mamdani, seleccione
centroide
,
bisectriz
,
mam
(Medio de mximo),
som
(El ms pequeo de como mximo),
Lom
(Ms grande del mximo), o
Personalizado
, Para una operacin de medida. Para Sugeno-estilo
inferencia, elija entre
wtaver
(Promedio ponderado) o

wtsum
(ponderado
suma).
Ver tambin
mfedit
,
RuleEdit
,
ruleview
,
SURFVIEW
,
anfisedit
pgina 182

gauss2mf
3-32
3gauss2mf
Propsito
funcin de pertenencia combinacin de Gauss.
Sinopsis
y = gauss2mf (x, [sig1 c1 c2 SIG2])
Descripcin
La funcin gaussiana depende de dos parmetros
sig
y
do
como fue dada por
La funcin
gauss2mf
es una combinacin de dos de ellos. La primera funcin,
especificado por sig1 y c1 , determina la forma de la curva ms a la izquierda. El
segundo
funcin especificada por SIG2 y c2 determina la forma de la curva de ms a la
derecha.
Siempre que c1 < c2 , la
gauss2mf
funcin alcanza un valor mximo de 1.
De lo contrario, el valor mximo es menor que uno. Los parmetros se enumeran
en
el orden:
[ Sig1 , c1, SIG2 , c2 ] .

fx ; c
(
)
mi
xc
(
)
2
2
2
---------------------=
pgina 183

gauss2mf
3-33
Ejemplos
x = (0: 0,1: 10) ';
y1 = gauss2mf (x, [2 4 1 8]);
y2 = gauss2mf (x, [2 5 1 7]);
y3 = gauss2mf (x, [2 6 1 6]);
y4 = gauss2mf (x, [2 7 1 5]);
y5 = gauss2mf (x, [2 8 1 4]);
plot (x, [A1 A2 A3 y4 y5]);
conjunto (GCF, 'nombre', 'gauss2mf', 'numbertitle', 'off');
Ver tambin
dsigmf
,
gauss2mf
,
gbellmf
,
evalmf
,
mf2mf
,
pimf
,
psigmf

,
sigmf
,
SMF
,
trapmf
,
trimf
,
ZMF
pgina 184

gaussmf
3-34
3gaussmf
Propsito
curva de Gauss-construido en funcin de pertenencia.
Sinopsis
y = gaussmf (x, [sig c])
Descripcin
La funcin de Gauss simtrica depende de dos parmetros
y c como se indica
por
Los parmetros para
gaussmf
representar los parmetros
y c enumeran en orden
en el vector [
c sig
].
Ejemplo
x = 0: 0.1: 10;
y = gaussmf (x, [2 5]);
plot (x, y)
xlabel ( 'gaussmf, P = [2 5]')
Ver tambin
dsigmf
,
gaussmf
,
gbellmf
,

evalmf
,
mf2mf
,
pimf
,
psigmf
,
sigmf
,
SMF
,
trapmf
,
trimf
,
ZMF

fx ; c
(
)
mi
xc
(
)
2
2
2
---------------------=

0
2
4
6
8
10
0
0.25

0,5
0.75
1
gaussmf, P = [2 5]
pgina 185

gbellmf
3-35
3gbellmf
Propsito
Generalizada en forma de campana funcin de pertenencia incorporado.
Sinopsis
y = gbellmf (x, params)
Descripcin
La funcin de campana generalizada depende de tres parmetros de un , b ,
y c como dado
por
donde el parmetro b es generalmente positivo. El parmetro c localiza el centro
de la curva. Introducir el vector de parmetros
params
, El segundo argumento a favor
gbellmf
, Como el vector cuyas entradas son una , b , y c , respectivamente.
Ejemplo
x = 0: 0.1: 10;
y = gbellmf (x, [2 4 6]);
plot (x, y)
xlabel ( 'gbellmf, P = [2 4 6]')
Ver tambin
dsigmf
,
gaussmf
,
gauss2mf
,
evalmf
,
mf2mf
,
pimf
,
psigmf

,
sigmf
,
SMF
,
trapmf
,
trimf
,
ZMF
fxa ; bc
,,
(
)
1
1
xc
un
---------2b
+
-----------------------------=
0
2
4
6
8
10
0
0.25
0,5
0.75
1
gbellmf, P = [2 4 6]
pgina 186

genfis1
3-36
3genfis1
Propsito

Generar una estructura de datos sin FIS agrupacin de datos.


Sinopsis
fismat = genfis1 (datos)
fismat = genfis1 (datos, numMFs, inmftype, outmftype)
Descripcin
genfis1
genera una estructura de tipo Sugeno FIS utilizado como condiciones iniciales
(Inicializacin de los parmetros de la funcin de pertenencia) de
ANFIS
formacin.
genfis
1(
datos
,
numMFs
,
inmftype
,
outmftype
) Genera una estructura de un FIS
conjunto de datos de entrenamiento,
datos
, Utilizando una particin de rejilla en los datos (sin agrupacin).
Los argumentos a favor
genfis1
son como sigue:

datos
es la matriz de datos de entrenamiento, que debe introducirse con todos excepto
el ltimo
columnas que representan los datos de entrada, y la ltima columna que
representa la
salida nica.

numMFs
es un vector cuyas coordenadas especificar el nmero de membresa
funciones asociadas con cada entrada. Si desea que el mismo nmero de
funciones de pertenencia a estar asociados con cada entrada, a continuacin,
basta con
hacer
numMFs

un nmero nico.

inmftype
es una matriz de cadenas en la que cada fila especifica el nmero de miembros
tipo de funcin asociado con cada entrada. Una vez ms, esto puede ser una
unidimensional cadena nica si el tipo de funciones de pertenencia asociado
con cada entrada es la misma.

outmftype
es una cadena que especifica el tipo de funcin de pertenencia asociado
con la salida. Slo puede haber una salida, ya que esta es una de tipo Sugeno
sistema. La pertenencia de salida tipo de funcin debe ser o bien lineal o
constante .
El nmero de funciones de pertenencia asociadas a la salida es la misma
como el nmero de reglas generadas por
genfis1
. El nmero predeterminado de
funciones de pertenencia,
numMFs
, Es 2; la entrada por defecto o de pertenencia de salida
tipo de funcin es "
gbellmf
'. Estos se utilizan cada vez
genfis1
se invoca
sin los ltimos tres argumentos.
pgina 187

genfis1
3-37
Ejemplo
datos = [rand (10,1) 10 * rand (10,1) -5 rand (10,1)];
numMFs = [3 7];
mfType = str2mat ( 'pimf', 'trimf');
fismat = genfis1 (datos, numMFs, mfType);
[X, mf] = plotmf (fismat, 'de entrada', 1);
subtrama (2,1,1), plot (x, mf);
xlabel ( 'entrada 1 (pimf)');
[X, mf] = plotmf (fismat, "entrada", 2);
subtrama (2,1,2), plot (x, mf);
xlabel ( 'entrada 2 (trimf)');
Ver tambin

ANFIS
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0
0,2
0,4
0,6
0,8
1
entrada 1 (pimf)
-5
-4
-3
-2
-1
0
1
2
3
4
5
0
0,2
0,4
0,6
0,8
1
de entrada 2 (trimf)
pgina 188

genfis2
3-38
3genfis2

Propsito
Generar una estructura FIS de datos mediante el agrupamiento sustractivo.
Sinopsis
fismat = genfis2 (Xin, xout, radios)
fismat = genfis2 (Xin, xout, radios, xBounds)
fismat = genfis2 (Xin, xout, radios, xBounds, opciones)
Descripcin
Dada conjuntos separados de datos de entrada y de salida,
genfis2
genera un FIS usando
agrupamiento sustractivo difusa. Cuando slo hay una salida,
genfis2
tal vez
utilizado para generar un FIS inicial para
ANFIS
formacin por primera implementacin
agrupacin de sustraccin en los datos.
genfis2
logra esto mediante la extraccin de una
conjunto de reglas que modela el comportamiento de datos. El mtodo de
extraccin regla primera
utiliza el
subclust
funcin para determinar el nmero de reglas y antecedente
funciones de pertenencia y luego utiliza la estimacin de mnimos cuadrados
lineales de
determinar consiguientes ecuaciones de cada regla. Esta funcin devuelve un FIS
estructura que contiene un conjunto de reglas difusas para cubrir el espacio de
caractersticas.
Los argumentos a favor
genfis2
son como sigue:

Xin
es una matriz en la que cada fila contiene los valores de entrada de un punto de
datos.

xout
es una matriz en la que cada fila contiene los valores de salida de un punto de
datos.

radios
es un vector que especifica rango de un grupo centro de influencia en cada uno
de
las dimensiones de datos, suponiendo que los datos caen dentro de una unidad de
hyperbox. por
ejemplo, si la dimensin de datos es 3 (por ejemplo,
Xin
tiene dos columnas y
xout
tiene
una columna),
radios
= [0,5 0,4 0,3] especifica que los rangos de influencia en el
primero, segundo, tercero y dimensiones de datos (es decir, la primera columna
de
Xin
, el
segunda columna de
Xin
, Y la columna de
xout
) Son 0,5, 0,4 y 0,3 veces las
anchura del espacio de datos, respectivamente. Si
radios
es un escalar, entonces el escalar
valor se aplica a todas las dimensiones de datos, es decir, cada centro de la
agrupacin tendr una
zona de influencia esfrica con el radio dado.

xBounds
es un 2-by- N matriz opcional que especifica cmo asignar los datos de
Xin
y
xout
en una unidad de hyperbox, donde N es el de datos (fila) dimensin. El primero
fila de
xBounds
contiene los valores mnimos del campo de trabajo y la segunda fila
contiene los valores mximos del campo de trabajo para escalar los datos de cada
dimensin. Por ejemplo,
xBounds

= [-10 0 -1; 10 50 1] especifica que los datos


valores de la primera dimensin de los datos se pueden escalar a partir de la gama
[10 -10]
en valores en el rango [0 1]; valores de datos en la segunda dimensin de datos
son
que reducirse de la gama de [0 50]; y los valores de datos en la tercera datos
pgina 189

genfis2
3-39
dimensin deben ser escalado de la gama de [-1 1]. Si
xBounds
es un vaco
Matrix o no se proporciona, a continuacin,
xBounds
por defecto es el mnimo y
Los valores mximos de datos que se encuentran en cada dimensin de datos.

opciones
es un vector opcional para especificar parmetros del algoritmo para anular
los valores por defecto. Estos parmetros se explican en el texto de ayuda para
subclust
en la pgina 3-72. Los valores por defecto son en su lugar cuando este argumento
no es
especificado.
Ejemplos
fismat = genfis2 (Xin, xout, 0.5)
Este es el nmero mnimo de argumentos necesarios para utilizar esta
funcin. Aqu un
rango de influencia de 0,5 se especifica para todas las dimensiones de datos.
fismat = genfis2 (Xin, xout, [0,5 0,25 0,3])
Esto supone la dimensin de datos combinados es 3. Supngase
Xin
tiene dos columnas
y
xout
tiene una columna, a continuacin, 0.5 y 0.25 son los rangos de influencia para
cada
del
Xin
dimensiones de datos, y 0,3 es el rango de influencia para la
xout

datos
dimensin.
fismat = genfis2 (Xin, xout, 0,5, [- 10 -5 0; 10 5 20])
Esto especifica la forma de normalizar los datos en
Xin
y
xout
en valores en el
rango [0 1] para su procesamiento. Suponer
Xin
tiene dos columnas y
xout
Tiene uno
de columna, a continuacin, los datos de la primera columna de
Xin
se escalan a partir de [10 -10], la
datos en la segunda columna de
Xin
son escalados de [-5 5], y los datos en
xout
se escalan desde [0 20].
Ver tambin
subclust
pgina 190

gensurf
3-40
3gensurf
Propsito
Generar una superficie de salida de la FIS.
Sinopsis
gensurf (FIS)
gensurf (FIS, entradas, salidas)
gensurf (FIS, entradas, salidas, rejillas, refinput)
Descripcin
gensurf (FIS)
genera un grfico de la superficie de salida de una inferencia borrosa dado
sistema (
fis
) Usando las dos primeras entradas y la primera salida.
gensurf (FIS, entradas, salidas)
genera un grfico utilizando las entradas (una o dos)

y la salida (slo se permite) dada, respectivamente, por el vector,


insumos,
y
el escalar,
salida
.
gensurf (FIS, entradas, salidas, rejillas)
permite especificar el nmero de cuadrculas
en la X (primera, horizontal) e Y (segundo, verticales) direcciones. Si
rejillas
es una de dos
elemento del vector, las rejillas en las direcciones X e Y se puede ajustar de
forma independiente.
gensurf (FIS, entradas, salidas, rejillas, refinput)
se puede utilizar si hay ms
de dos salidas. La longitud del vector
refinput
es el mismo que el nmero
de los insumos.
Introducir
Yaya
s para las entradas de
refinput
correspondiente a las entradas cuyos
se muestra superficie.
Introduzca escalares dobles reales para fijar los valores de otros insumos.
[X, y, z] = gensurf (...)
devuelve las variables que definen la superficie de salida
y suprime el trazado automtico.
pgina 191

gensurf
3-41
Ejemplo 1
a = readfis ( 'volquete');
gensurf (a)
Ejemplo 2
a = gensurf (Temp, [1 2], 1, [20 20], [nan nan 0,2]);
genera la superficie de una de tres entradas FIS llamado
Temperatura
de sus dos primeras entradas

a su primera salida, mientras que la fijacin de un valor de referencia para la


tercera entrada en 0,2.
Ver tambin
evalfis
,
SURFVIEW
0
2
4
6
8
10
0
2
4
6
8
10
5
10
15
20
25
Servicio
comida
propina
pgina 192

getfis
3-42
3getfis
Propsito
Obtener las propiedades del sistema difusos.
Sinopsis
getfis (a)
getfis (a, ' fisprop ')
getfis (a, ' VARTYPE ', varindex, ' varprop ')
getfis (a, ' VARTYPE ', varindex, 'mf', mfindex)
getfis (a, ' VARTYPE ', varindex, 'mf', mfindex, ' mfprop ')
Descripcin
Esta es la funcin de acceso fundamental para la estructura de FIS. Con este

funcin que se puede aprender sobre todas las partes del sistema de inferencia
borrosa.
Los argumentos a favor
getfis
son como sigue:

un
: El nombre de una variable de estructura FIS espacio de trabajo.

' VARTYPE '


: Una cadena que indica el tipo de variable que desea (
entrada
o
salida
).

varindex
: Un entero que indica el ndice de la variable que desee (1, para
entrada 1, por ejemplo).

'Mf':
una cadena requerida que se indica est buscando para ser miembro
Funcin de informacin.

mfindex
: El ndice de la funcin de pertenencia para el que est buscando
informacin.
pgina 193

getfis
3-43
Ejemplos
Uno de los argumentos de entrada (salida es el conjunto vaco)
a = readfis ( 'volquete');
getfis (a)
Name = volquete
Type = Mamdani
NumInputs = 2
InLabels =
Servicio
comida
NumOutputs = 1

OutLabels =
propina
NumRules = 3
AndMethod = min
OrMethod = max
ImpMethod = min
AggMethod = max
DefuzzMethod = centroide
Dos argumentos de entrada
getfis (a, "tipo")
ans =
Mamdani
Tres argumentos de entrada (salida es el conjunto vaco)
getfis (a, 'de entrada', 1)
Name = servicio
NumMFs = 3
MFLabels =
pobre
bueno
excelente
Rango = [0 10]
Cuatro argumentos de entrada
getfis (a, 'de entrada', 1, 'nombre')
ans =
Servicio
pgina 194

getfis
3-44
Cinco argumentos de entrada
getfis (a, 'de entrada', 1, 'mf', 2)
Nombre = bueno
Type = gaussmf
params =
1.5000 5.0000
Seis argumentos de entrada
getfis (a, 'de entrada', 1, 'mf', 2, 'nombre')
ans =
bueno
Ver tambin
setfis
,

showfis
pgina 195

mam2sug
3-45
3mam2sug
Propsito
Transformar Mamdani FIS en un Sugeno FIS.
Sinopsis
sug_fis = mam2sug (mam_fis)
Descripcin
mam2sug (mam_fis)
transforma un (salida no necesariamente individual) Mamdani FIS
estructura
mam_fis
en una estructura de Sugeno FIS
sug_fis
. El Sugeno devuelto
sistema tiene funciones constantes de pertenencia de salida. Estas constantes son
determinado por los centroides de los consiguientes funciones de pertenencia de
la
sistema de Mamdani originales. El antecedente se mantiene sin cambios.
Ejemplos
mam_fismat = readfis ( 'mam22.fis');
sug_fismat = mam2sug (mam_fismat);
subtrama (2,2,1); gensurf (mam_fismat, [1 2], 1);
ttulo ( "sistema de Mamdani (Salida 1) ');
subtrama (2,2,2); gensurf (sug_fismat, [1 2], 1);
ttulo ( "sistema de Sugeno (Salida 1) ');
subtrama (2,2,3); gensurf (mam_fismat, [1 2], 2);
ttulo ( "sistema de Mamdani (Salida 2) ');
subtrama (2,2,4); gensurf (sug_fismat, [1 2], 2);
ttulo ( "sistema de Sugeno (Salida 2) ');
pgina 196

mf2mf
3-46
3mf2mf
Propsito
Traduce parmetros entre funciones de pertenencia.
Sinopsis
outparams = mf2mf (inParams, INTYPE, outType)

Descripcin
Esta funcin se traduce cualquier tipo de funcin de pertenencia incorporada en
otro,
en trminos de su conjunto de parmetros. En principio,
mf2mf
imita los puntos de simetra
tanto para los nuevos y viejos funciones de pertenencia. De vez en cuando esta
traduccin
los resultados en la informacin perdida, de modo que si los parmetros de salida
se convierten de nuevo
en el tipo de funcin de pertenencia original, el nmero de miembros
transformado
funcin no se ver igual como lo hizo originalmente.
Los argumentos de entrada para
mf2mf
son como sigue:

inParams
: Los parmetros de la funcin de pertenencia que estn transformando

INTYPE
: Un nombre de cadena para el tipo de funcin de pertenencia est
transformadora

outType
: Un nombre de cadena para la nueva funcin de pertenencia est
la transformacin de
Ejemplos
x = 0: 0,1: 5;
mfp1 = [1 2 3];
mfp2 = mf2mf (mfp1, 'gbellmf', 'trimf');
plot (x, gbellmf (x, mfp1), x, trimf (x, mfp2))
Ver tambin
dsigmf
,
gaussmf
,
gauss2mf
,
gbellmf
,

evalmf
,
pimf
,
psigmf
,
sigmf
,
SMF
,
trapmf
,
trimf
,
ZMF
0
0,5
1
1.5
2
2.5
3
3.5
4
4.5
5
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
pgina 197

mfedit
3-47
3mfedit

Propsito
editor de funcin de pertenencia.
Sinopsis
mfedit ( 'a')
mfedit (a)
mfedit
Descripcin
mfedit ( 'a')
genera un editor de funcin de pertenencia que le permite
inspeccionar y modificar todas las funciones de pertenencia para sus FIS
almacenados en el archivo,
a.fis
.
mfedit (a)
opera en una variable del espacio de trabajo de MATLAB, para una estructura de
esqu alpino,
un
.
mfedit
solo aparecer el Editor de funcin de pertenencia sin FIS cargado.
Para cada funcin de pertenencia se puede cambiar el nombre, el tipo y la
parmetros. Once funciones de pertenencia incorporados se proporcionan para
que usted pueda
elegir, aunque, por supuesto, siempre puede crear su propia especializada
versiones. Consulte t o "La membresa Funcin Editor" en la pgina 2-52 para
obtener ms
informacin sobre cmo utilizar
mfedit
.
pgina 198

mfedit
3-48
Seleccione el icono de la variable en el lado superior izquierdo del diagrama
(bajo la
"Variables de partida de la FIS") para visualizar sus funciones de pertenencia
asociadas en el
zona de dibujo. Seleccionar funciones de pertenencia haciendo clic una vez sobre
ellos o su
etiquetas.
Elementos de men
En el Editor de afiliacin de funciones, hay una barra de men que le permite

abrir herramientas GUI relacionados, abrir y guardar los sistemas, y as


sucesivamente. El archivo de men para
el Editor de miembro de funcin es la misma que la que se encuentra en el FIS
Editor. Referirse a
borroso
en la pgina 3-29 para obtener ms informacin.
En Editar , seleccione:
Aadir MF ... para agregar funciones de pertenencia de la variable actual.
Aadir encargo MF ... para agregar una funcin de pertenencia personalizada a
la corriente
variable.
Retire corriente de MF para eliminar la funcin de pertenencia actual.
Retire todos los BM para borrar todas las funciones de pertenencia de la variable
actual.
Deshacer para deshacer el cambio ms reciente.
En Vista , seleccione:
Editar propiedades de la FIS ... para invocar el Editor de esqu alpino.
Editar reglas ... para invocar el editor de reglas.
Ver reglas ... para invocar el Visor de Reglas.
Ver la superficie ... para invocar el Visor de superficie.
Afiliacin
Funcin
Men emergente
Hay 11 funciones de pertenencia incorporados para elegir, y tambin tiene
la opcin de instalar una funcin de pertenencia personalizado.
Ver tambin
borroso
,
RuleEdit
,
ruleview
,
SURFVIEW
pgina 199

newfis
3-49
3newfis
Propsito
Crear nueva FIS.
Sinopsis
a = newfis (fisName, fisType, andMethod, orMethod, impMethod, ...

aggMethod, defuzzMethod)
Descripcin
Esta funcin crea nuevas estructuras de la FIS.
newfis
tiene hasta siete entradas
argumentos, y el argumento de salida es una estructura FIS. La entrada de siete
argumentos son los siguientes:

fisName
es el nombre de la cadena de la estructura de esqu alpino,
fisName.fis
tu creas.

fisType
es el tipo de FIS.

andMethod
,
orMethod
,
impMethod
,
aggMethod
y
defuzzMethod
,
respectivamente proporcionar los mtodos de AND, OR, implicacin, agregacin
y
defuzzification.
Ejemplos
El siguiente ejemplo muestra lo que los valores por defecto son para cada uno de
los mtodos:
a = newfis ( 'newsys');
getfis (a)
devoluciones
Name = newsys
Type = Mamdani
NumInputs = 0
InLabels =
NumOutputs = 0
OutLabels =

NumRules 0
AndMethod min
OrMethod mximo
ImpMethod min
AggMethod mximo
centroide DefuzzMethod
ans =
[Newsys]
Ver tambin
readfis
,
writefis
pgina 200

parsrule
3-50
3parsrule
Propsito
Analizar las reglas difusas.
Sinopsis
fis2 = parsrule (FIS, txtRuleList)
fis2 = parsrule (FIS, txtRuleList, ruleFormat)
fis2 = parsrule (FIS, txtRuleList, ruleFormat, Lang)
Descripcin
Esta funcin analiza el texto que define las reglas (
txtRuleList
) para
MATLAB espacio de trabajo variable de esqu alpino,
fis,
y devuelve una estructura FIS con el
lista de reglas apropiadas en su lugar. Si la estructura original de la FIS de
entrada,
fis
, Tiene cualquier
normas inicialmente, que sean sustituidos de la nueva estructura,
fis2
. tres diferentes
formatos de reglas (indicado por
ruleFormat
) Son soportados: '
verboso'
, "Simblico"

y "indexado". El formato por defecto es "prolija". Cuando el idioma opcional


argumento,
lang
, Se utiliza, las reglas se evalan de modo detallado, asumiendo el
palabras clave estn en el idioma,
lang
. Este lenguaje debe ser 'Ingls',
'Francais ", o" Deutsch ". Las palabras de la lengua clave en Ingls son: si,
entonces, es, y,
OR y NOT.
Ejemplos
a = readfis ( 'volquete');
ruleTxt = 'si el servicio es pobre, entonces la punta es generoso';
a2 = parsrule (a, ruleTxt, 'detallado');
showrule (a2)
ans =
1. Si (servicio es deficiente) a continuacin (la punta es generoso) (1)
Ver tambin
addrule
,
RuleEdit
,
showrule
pgina 201

pimf
3-51
3pimf
Propsito
en forma de funcin de pertenencia incorporado.
Sinopsis
y = pimf (x, [abcd])
Descripcin
Esta curva basada en spline se llama as debido a su
-forma. esta membresa
Se evala la funcin en los puntos determinados por el vector
x
. Los parametros
una y d localizar los "pies" de la curva, mientras que b y c localizar sus
"hombros".
Ejemplos
x = 0: 0.1: 10;

y = pimf (x, [1 4 5 10]);


plot (x, y)
xlabel ( 'pimf, P = [1 4 5 10]')
Ver tambin
dsigmf
,
gaussmf
,
gauss2mf
,
gbellmf
,
evalmf
,
mf2mf
,
psigmf
,
sigmf
,
SMF
,
trapmf
,
trimf
,
ZMF

0
2
4
6
8
10
0
0.25
0,5
0.75
1
pimf, P = [1 4 5 10]

pgina 202

plotfis
3-52
3plotfis
Propsito
Trazar una FIS.
Sinopsis
plotfis (fismat)
Descripcin
Esta funcin muestra un diagrama de alto nivel de un FIS,
fismat
. Entradas y su
funciones de pertenencia aparecen a la izquierda de las caractersticas
estructurales de la FIS,
mientras que las salidas y sus funciones de pertenencia aparecen a la derecha.
Ejemplos
a = readfis ( 'volquete');
plotfis (a)
Ver tambin
evalmf
,
plotmf
pgina 203

plotmf
3-53
3plotmf
Propsito
Trazar todas las funciones de pertenencia para una variable dada.
Sinopsis
plotmf (fismat, varType, varIndex)
Descripcin
Esta funcin traza todas las funciones de pertenencia en el FIS llamados
fismat
asociada a una determinada variable cuyo tipo y el ndice se recogen,
respectivamente
por
varType
('
entrada'
o"
salida'

), Y
varIndex
. Esta funcin tambin puede ser
se utiliza con la funcin MATLAB,
subtrama
.
Ejemplos
a = readfis ( 'volquete');
plotmf (a, 'de entrada', 1)
Ver tambin
evalmf
,
plotfis
0
1
2
3
4
5
6
7
8
9
10
0
0,2
0,4
0,6
0,8
1
Servicio
Grado de creencia
pobre
bueno
excelente
pgina 204

psigmf
3-54
3psigmf
Propsito
Construido en funcin de la pertenencia compuesto por el producto de dos

funciones de pertenencia sigmoidally forma.


Sinopsis
y = psigmf (x, [a1 a2 c1 c2])
Descripcin
La curva sigmoidea trazada para el vector
x
depende de dos parmetros de una y c
como fue dada por
psigmf
es simplemente el producto de dos de tales curvas trazadas para los valores de la
vector
x
F
1
( X ; A1 , c
1
)*F
2
( X ; a2 , c
2
)
Los parmetros se enumeran en el orden: [ a1 c
1
un
2
do
2
].
Ejemplos
x = 0: 0.1: 10;
y = psigmf (x, [2 3 -5 8]);
plot (x, y)
xlabel ( 'psigmf, P = [2 3 -5 8]')
Ver tambin
dsigmf
,
gaussmf
,
gauss2mf
,
gbellmf

,
evalmf
,
mf2mf
,
pimf
,
sigmf
,
SMF
,
trapmf
,
trimf
,
ZMF
fxa ; c
(
)
1
1e
axc
(
)
+
------------------------------=
0
2
4
6
8
10
0
0.25
0,5
0.75
1
psigmf, P = [2 3 -5 8]

pgina 205

readfis
3-55
3readfis
Propsito
Carga de un FIS desde el disco.
Sinopsis
fismat = readfis ( ' nombre ')
Descripcin
Leer un sistema de inferencia borrosa de una
.fis
presentar (llamado
nombre del archivo
) En el disco
y llevar el archivo resultante en el espacio de trabajo.
fismat = readfis
(No hay argumentos de entrada) abre una
uigetfile
cuadro de dilogo para
asistir con el nombre y el directorio de la ubicacin del archivo.
Ejemplos
fismat = readfis ( 'volquete');
getfis (fismat)
devoluciones
Name = volquete
Type = Mamdani
NumInputs = 2
InLabels =
Servicio
comida
NumOutputs = 1
OutLabels =
propina
NumRules = 3
AndMethod = min
OrMethod = max
ImpMethod = min
AggMethod = max
DefuzzMethod = centroide
ans =
volquete

Ver tambin
writefis
pgina 206

rmmf
3-56
3rmmf
Propsito
Para eliminar la funcin de pertenencia a partir de una FIS.
Sinopsis
fis = rmmf (FIS, 'varType', varIndex, 'mf', mfIndex)
Descripcin
fis = rmmf (FIS, varType, varIndex, 'mf', mfIndex)
quita el nmero de miembros
funcin,
mfIndex
, Del tipo de variable,
varType
, De ndice
varIndex
, De la fuzzy
sistema de inferencia asociada con la estructura de espacio de trabajo de FIS,
fis
:
La cadena de
varType
debe ser '
entrada'
o"
salida'
.

varIndex
es un nmero entero para el ndice de la variable. Este ndice representa el
orden en el que se enumeran las variables.
El argumento
'Mf'
es una cadena que representa la funcin de pertenencia.

mfIndex
es un nmero entero para el ndice de la funcin de pertenencia. este ndice
representa el orden en que se enumeran las funciones de pertenencia.

Ejemplos
a = newfis ( ''); mysys
a = addvar (a, "entrada", "temperatura", [0 100]);
a = addmf (a, 'de entrada', 1, 'fro', 'trimf', [0 30 60]);
getfis (a, 'de entrada', 1)
devoluciones
Nombre = Temperatura
NumMFs = 1
MFLabels =
fro
Rango = [0 100]
b = rmmf (a, 'de entrada', 1, 'mf', 1);
getfis (b 'de entrada', 1)
devoluciones
Nombre = Temperatura
NumMFs = 0
MFLabels =
Rango = [0 100]
Ver tambin
addmf
,
addrule
,
addvar
,
plotmf
,
rmvar
pgina 207

rmvar
3-57
3rmvar
Propsito
Para eliminar variables a partir de una FIS.
Sinopsis
[Fis2, errorStr] = rmvar (FIS, 'varType', varIndex)
fis2 = rmvar (FIS, 'varType', varIndex)
Descripcin
fis2 = rmvar (FIS, 'varType', varIndex)
elimina la variable
'VarType'

, de
ndice
varIndex
, Desde el sistema de inferencia difusa asociada con el
estructura FIS espacio de trabajo,
fis
:
La cadena de
varType
debe ser '
entrada'
o"
salida'
.

varIndex
es un nmero entero para el ndice de la variable. Este ndice representa el
orden en el que se enumeran las variables.
[Fis2, errorStr] = rmvar (FIS, 'varType', varIndex)
devuelve ningn error
mensajes a la cadena,
errorStr
.
Este comando modifica automticamente la lista de reglas para mantener su
tamao en consonancia con
el nmero actual de variables. Usted debe eliminar de la FIS cualquier regla que
contiene una variable que desea eliminar, antes de retirarlo. No se puede quitar
una variable difusa se utilizan actualmente en la lista de reglas.
Ejemplos
a = newfis ( ''); mysys
a = addvar (a, "entrada", "temperatura", [0 100]);
getfis (a)
pgina 208

rmvar
3-58
devoluciones
Name = mysys
Tipo
= Mamdani
NumInputs = 1
InLabels =

temperatura
NumOutputs = 0
OutLabels =
NumRules = 0
AndMethod = min
OrMethod = max
ImpMethod = min
AggMethod = max
DefuzzMethod = centroide
ans =
mysys
b = rmvar (a, 'de entrada', 1);
getfis (b)
devoluciones
Name = mysys
Type = Mamdani
NumInputs = 0
InLabels =
NumOutputs = 0
OutLabels =
NumRules = 0
AndMethod = min
OrMethod = max
ImpMethod = min
AggMethod = max
DefuzzMethod = centroide
ans =
mysys
Ver tambin
addmf
,
addrule
,
addvar
,
rmmf
pgina 209

RuleEdit
3-59
3ruleedit
Propsito

editor de reglas y analizador.


Sinopsis
RuleEdit ( 'a')
RuleEdit (a)
Descripcin
El editor de reglas, cuando se invoca usando
RuleEdit ( 'a')
, Se utiliza para modificar el
reglas de una estructura FIS almacenados en un archivo,
a.fis
. Tambin se puede utilizar para inspeccionar
las reglas utilizadas por un sistema de inferencia borrosa.
Para utilizar este editor para crear reglas, primero debe definir todas las entradas
y
variables de salida que desea utilizar con el editor de la FIS. Puede crear las
reglas
usando el cuadro de lista y comprobar las selecciones del cuadro de variables de
entrada y de salida,
conexiones, y pesos. Se refieren a "El editor de reglas" en la pgina 2-56 para
obtener ms
informacin sobre cmo utilizar
RuleEdit.
La sintaxis
RuleEdit (a)
se utiliza cuando se quiere operar en un espacio de trabajo
variable para una estructura llamada FIS
un
.
Formato languageand
son las opciones en este
Interfaz grfica de usuario. Las lenguas son
Ingls, Alemn, y
Francais. Los formatos son
verbosa, simblica,
e indexado.
pgina 210

RuleEdit
3-60
Elementos de men
En el Editor de reglas, hay una barra de men que le permite abrir GUI
relacionados

herramientas, abrir y guardar los sistemas, y as sucesivamente. El archivo de


men del editor de reglas es
el mismo que el que se encuentra en el Editor de FIS. Referirse a
borroso
en la pgina 3-29 para
ms informacin.
Use la siguiente Editar elemento de men:
Deshacer para deshacer el cambio ms reciente.
Use las siguientes Ver elementos del men:
Editar propiedades de la FIS ... para invocar el Editor de esqu alpino.
Funciones de edicin de miembros ... para invocar la funcin de pertenencia
Editor.
Ver reglas ... para invocar el Visor de Reglas.
Ver la superficie ... para invocar el Visor de superficie.
Utilice las opciones de men:
Idioma para seleccionar el idioma: Ingls , Alemn , y Francais
Formato para seleccionar el formato:
`Detallado utiliza las palabras" si "," entonces "," Y "," O ", y as sucesivamente
para crear
frases reales.
`Simblica sustituye algunos smbolos de las palabras utilizadas en el verbosa
modo. Por ejemplo, "si A y B entonces C " se convierte en " A y B => C ".
`Indexadas espejos cmo se almacena la regla en la estructura de la FIS .
Ver tambin
addrule
,
borroso
,
mfedit
,
parsrule
,
ruleview
,
showrule
,
SURFVIEW
pgina 211

ruleview
3-61
3ruleview

Propsito
visor de Regla y diagrama de inferencia borrosa.
Sinopsis
ruleview ( 'a')
Descripcin
El Visor de Reglas invoca mediante
ruleview ( 'a')
representa la inferencia borrosa
diagrama de una FIS almacenada en un archivo,
a.fis
. Se utiliza para ver la totalidad
proceso de implicacin de principio a fin. Se puede mover alrededor de la lnea
ndices que corresponden a las entradas y luego ver el reajuste del sistema y
calcular la nueva salida. Consulte la "Regla Visor" en la pgina 2-59 para obtener
ms
informacin sobre cmo utilizar
ruleview
.
Elementos de men
En el Visor de Reglas, hay una barra de men que le permite abrir GUI
relacionados
herramientas, abrir y guardar los sistemas, y as sucesivamente. El archivo de
men del Visor de Reglas es
pgina 212

ruleview
3-62
el mismo que el que se encuentra en el Editor de FIS. Referirse a
borroso
en la pgina 3-29 para
ms informacin.
Use las Ver elementos del men:
Editar propiedades de la FIS ... para invocar el Editor de FIS
Funciones de edicin de miembros ... para invocar el Editor de afiliacin
Funcin
Editar reglas ... para invocar el editor de reglas
Ver la superficie ... para invocar el Visor de superficie
Utilice la opciones del men:
Regla formato de visualizacin para establecer el formato en el que aparece la
regla. Si tu
haga clic en los nmeros de reglas en el lado izquierdo del diagrama de
inferencia difusa,

la regla asociada con ese nmero aparecer en la barra de estado en la parte


parte inferior del Visor de Reglas.
Ver tambin
borroso
,
mfedit
,
RuleEdit
,
SURFVIEW
pgina 213

setfis
3-63
3setfis
3
Propsito
Establecer las propiedades de sistemas difusos.
Sinopsis
a = setfis (a, ' fispropname ', ' newfisprop' )
a = setfis (a, ' VARTYPE ', varindex, ' varpropname ', ' newvarprop' )
a = setfis (a, ' VARTYPE ', varindex, 'mf', mfindex, ...
' Mfpropname ', 'newmfprop');
Descripcin
El comando
setfis
Se puede llamar con tres, cinco, o siete argumentos de entrada,
dependiendo de si desea establecer una propiedad de toda la estructura de esqu
alpino,
para una variable en particular que pertenece a la estructura de esqu alpino, o
para un particular,
funcin de pertenencia que pertenece a una de esas variables. Los argumentos
son los siguientes:

un un nombre de variable de un FIS desde el espacio de trabajo

' VARTYPE ' una cadena que indica el tipo de variable:


entrada
o
salida


varindex el ndice de la variable de entrada o salida

'Mf' una cadena requerida para el cuarto argumento de una llamada de 7 argumento a
favor
setfis
, Lo que indica que esta variable es una funcin de pertenencia

mfindex el ndice de la funcin de pertenencia que pertenece a los elegidos


variable

' Fispropname ' una cadena que indica la propiedad del campo FIS desea
poner:
nombre
,
tipo
,
andmethod
,
ormethod
,
impmethod
,
aggmethod
,
defuzzmethod

'newfisprop' una cadena que describe el nombre de la propiedad FIS o mtodo


desea establecer

' Varpropname ' una cadena que indica el nombre del campo variable que desea
poner:
nombre
o
distancia


'newvarprop' una cadena que describe el nombre de la variable que desea establecer
(para
nombre
), O una matriz que describe el rango de esa variable (por
distancia
)

' Mfpropname ' una cadena que indica el nombre de la funcin de pertenencia
El campo que desea establecer:
nombre
,
tipo
o
params .

'Newmfprop' una cadena que describe el nombre o tipo de los miembros


campo de funcin desea configurar (por
nombre
o
tipo
), O una matriz que describe la gama
de los parmetros (por
params
)
pgina 214

setfis
3-64
Ejemplos
Llamado con tres argumentos,
a = readfis ( 'volquete');
a2 = setfis (a, 'nombre', 'comer');
getfis (a2, 'nombre');
resultados en
fuera =
comiendo
Si se utiliza con cinco argumentos,
setfis

actualizar dos propiedades de la variable.


a2 = setfis (a, 'de entrada', 1, 'nombre', 'ayuda');
getfis (a2, 'de entrada', 1, 'nombre')
ans =
ayuda
Si se utiliza con siete argumentos,
setfis
actualizar cualquiera de varias de miembros
propiedades de la funcin.
a2 = setfis (a, 'de entrada', 1, 'mf', 2, 'nombre', 'condenados');
getfis (a2, 'de entrada', 1, 'mf', 2, 'nombre')
ans =
desdichado
Ver tambin
getfis
pgina 215

sffis
3-65
3sffis
Propsito
inferencia borrosa S-funcin para Simulink.
Sinopsis
salida = sffis (t, x, u, bandera, fismat)
Descripcin
Este archivo-MEX es utilizado por Simulink para llevar a cabo el clculo
normalmente
interpretado por
evalfis
. Se ha optimizado para trabajar en el Simulink
ambiente. Esto significa, entre otras cosas, que
sffis
construye una datos
estructura en la memoria durante la fase de inicializacin de una simulacin
Simulink,
que posteriormente sigue utilizando hasta la simulacin se ha completado.
Los argumentos
t
,
x
y
bandera

Simulink son argumentos S-funcin estndar


(vase el Captulo 8, "S-Funciones" en el Simulink Uso de la documentacin). los
argumento
u
es la entrada a la estructura del espacio de trabajo de MATLAB de esqu alpino,
fismat
. Si,
por ejemplo, hay dos entradas a
fismat
, entonces
u
ser una de dos elementos
vector.
Ver tambin
evalfis
,
fuzblock
pgina 216

showfis
3-66
3showfis
Propsito
Mostrar FIS anotada.
Sinopsis
showfis (fismat)
Descripcin
showfis (fismat)
imprime una versin del espacio de trabajo de MATLAB variable de esqu
alpino,
fismat,
lo que le permite ver el significado y el contenido de cada campo de la
estructura.
Ejemplos
a = readfis ( 'volquete');
showfis (a)
devoluciones
1. Nombre
volquete
2. Tipo
Mamdani
3. Entradas / Salidas [2 1]

4. NumInputMFs [3] 2
5. NumOutputMFs 3
6. NumRules
3
7. AndMethod
min
8. OrMethod
max
9. ImpMethod
min
10. AggMethod
max
11. centroide DefuzzMethod
12. InLabels
Servicio
13.
comida
14. OutLabels
propina
15. InRange
[0 10]
diecisis.
[0 10]
17. superar en el alcance de tiro
[0 30]
18. InMFLabels pobres
19.
bueno
20.
excelente
21.
rancio
22.
delicioso
23. OutMFLabels barato
24.
promedio
25.
generoso
26. InMFTypes
gaussmf

27.
gaussmf
pgina 217

showfis
3-67
28.
gaussmf
29.
trapmf
30.
trapmf
31. OutMFTypes
trimf
32.
trimf
33.
trimf
34. InMFParams
[1,5 0 0 0]
35.
[1,5 5 0 0]
36.
[1.5 10 0 0]
37.
[0 0 1 3]
38.
[7 9 10 10]
39. OutMFParams
[5 0 10 0]
40.
[10 15 20 0]
41.
[20 25 30 0]
42. Regla Antecedente [1 1]
43.
[2 0]
44.
[3 2]
Regla 42. Consecuente 1
43.
2

44.
3
42. Regla Peso
1
43.
1
44.
1
42. Regla de conexin 2
43.
1
44.
2
Ver tambin
getfi
s
pgina 218

showrule
3-68
3showrule
Propsito
Mostrar las reglas de la FIS.
Sinopsis
showrule (FIS)
showrule (FIS, indexList)
showrule (FIS, indexList, formato)
showrule (FIS, indexList, formato, Lang)
Descripcin
Este comando se utiliza para mostrar las reglas asociadas con un sistema
dado. Eso
podra ser invocado por uno a cuatro argumentos. El primer argumento,
fis,
es
necesario. Este es el nombre de la variable espacio de trabajo de MATLAB para
una estructura FIS.
El segundo (opcional) argumento
indexList
es el vector de reglas que desea
monitor. El tercer argumento (opcional) es la cadena que representa el formato en
el
el cual se devuelven las reglas.

showrule
puede devolver la regla en cualquiera de las tres
diferentes formatos: '
verboso'
(El modo por defecto, para los que el valor por defecto es Ingls
idioma), '
simblico'
,Y'
indexado'
, Para el ndice de funcin de pertenencia
referenciacin.
Cuando se utiliza con cuatro argumentos, el cuarto argumento debe ser detallado,
y
showrule
(
fis, indexList, formato, lang
) Muestra las reglas de la lengua
dada por
lang
, Que debe ser '
Ingls
','
francais
", O"
deutsch
'.
pgina 219

showrule
3-69
Ejemplos
a = readfis ( 'volquete');
showrule (a, 1)
ans =
1. Si (el servicio es pobre) o (comida es rancio) a continuacin (la punta es
barato) (1)
showrule (a, 2)
ans =
2. Si (el servicio es bueno) a continuacin (la punta es la media) (1)
showrule (a, [3 1], 'simblica')
ans =
3. (servicio excelente ==) | (== Comida deliciosa) => (punta = generoso) (1)

1. (servicio == pobres) | (Alimentos == rancio) => (punta = barato) (1)


showrule (a, 1: 3, 'indizada')
ans =
1 1, 1 (1): 2
2 0, 2 (1): 1
3 2, 3 (1): 2
Ver tambin
parsrule
,
RuleEdit
,
addrule
pgina 220

sigmf
3-70
3sigmf
Propsito
Sigmoidally en forma de funcin de pertenencia incorporado.
Sinopsis
y = sigmf (x, [ca])
Descripcin
La funcin sigmoidal,
sigmf (x, [ca])
, Como se indica a continuacin por
, es un
mapeo en un vector
x
, Y depende de dos parmetros a y c :
Dependiendo del signo del parmetro a , la funcin de pertenencia sigmoidal
es inherentemente abierta hacia la derecha o hacia la izquierda, y por lo tanto es
apropiado para
que representa conceptos tales como "muy grande" o Ms "muy negativo".
funciones de pertenencia al futuro convencionales pueden ser construidos
mediante la adopcin de cualquiera de las
producto o diferencia de dos funciones de pertenencia sigmoidal
diferentes. Usted puede
encontrar ms informacin sobre esto en las entradas de este captulo para
dsigmf
y
psigmf
.

Ejemplos
x = 0: 0.1: 10;
y = sigmf (x, [2 4]);
plot (x, y)
xlabel ( 'sigmf, P = [2 4]')
Ver tambin
dsigmf
,
gaussmf
,
gauss2mf
,
gbellmf
,
evalmf
,
mf2mf
,
pimf
,
psigmf
,
SMF
,
trapmf
,
trimf
,
ZMF
fxac
,,
(
)
fxac
,,
(
)
1
1e
axc
-

(
)
+
-----------------------------=
0
2
4
6
8
10
0
0.25
0,5
0.75
1
sigmf, P = [2 4]
pgina 221

SMF
3-71
3smf
Propsito
En forma de S funcin de pertenencia incorporado.
Sinopsis
y = SMF (x, [ab])
Descripcin
Esta curva basada en spline es una asignacin en el vector
x
Y se llama as porque de
su forma de S. Los parmetros a y b localizar los extremos de la parte en
pendiente
de la curva.
Ejemplos
x = 0: 0.1: 10;
y = SMF (x, [1 8]);
plot (x, y)
xlabel ( 'SMF, P = [1 8]')
Ver tambin
dsigmf
,

gaussmf
,
gauss2mf
,
gbellmf
,
evalmf
,
mf2mf
,
pimf
,
psigmf
,
sigmf
,
trapmf
,
trimf
,
ZMF
0
2
4
6
8
10
0
0.25
0,5
0.75
1
SMF, P = [1 8]
pgina 222

subclust
3-72
3subclust
Propsito
Encuentra centros de los conglomerados con el agrupamiento sustractivo.
Sinopsis
[C, S] = subclust (X, radios, xBounds, opciones)

Descripcin
Esta funcin calcula los centros de los conglomerados en un conjunto de datos
mediante el uso de la
la agrupacin mtodo sustractivo. La agrupacin mtodo sustractivo asume
cada punto de datos es un centro de la agrupacin potencial y calcula una medida
de la
probabilidad de que cada punto de datos definira el centro de la agrupacin,
basado en el
densidad de puntos de datos circundante. El algoritmo
Selecciona el punto de datos con el mayor potencial de ser el primer centro de
la agrupacin
Elimina todos los puntos de datos en el entorno de la primera agrupacin centro
(como se
determinado por
radios
), Con el fin de determinar el siguiente grupo de datos y su
ubicacin en el centro
Repite en este proceso hasta que todos los datos son dentro de
radios
de un centro de la agrupacin
La agrupacin mtodo sustractivo es una extensin de la agrupacin de montaa
mtodo propuesto por R. Yager.
La matriz
x
contiene los datos que se van agrupadas; cada fila de
x
es un punto de datos.
La variable
radios
es un vector de entradas entre 0 y 1 que especifica un clster
gama de centro de influencia en cada una de las dimensiones de datos,
suponiendo que los datos
cae dentro de una unidad de hyperbox. Pequea
radios
valores generalmente resultan en la bsqueda de una
pocos grupos grandes. Los buenos valores para
radios
son por lo general entre 0,2 y 0,5.
Por ejemplo, si la dimensin de los datos es de dos (
x
tiene dos columnas),

radios
= [0,5 0,25] especifica que el rango de influencia de los primeros datos
dimensin es la mitad de la anchura del espacio de datos y el rango de influencia
en el
segunda dimensin de datos es un cuarto de la anchura del espacio de datos. Si
radios
es un
escalar, entonces el valor escalar se aplica a todas las dimensiones de datos, es
decir, cada grupo de
centro contar con una zona de influencia esfrica con el radio dado.
xBounds
es una matriz de 2 por N que especifica cmo asignar los datos de
x
en una unidad
hyperbox, donde N es la dimensin de datos. Este argumento es opcional si
x
es
Ya normalizado. La primera fila contiene los valores mnimos del campo de
trabajo y
la segunda fila contiene los valores mximos del campo de trabajo para escalar
los datos en
cada dimensin. Por ejemplo,
xBounds
= [-10 -5; 10 5] especifica que los valores de los datos
en la primera dimensin de datos han de ser escalado de la gama [10 -10] en
valores
en el rango [0 1]; valores de datos en la segunda dimensin de datos se pueden
escalar a
de la gama de [-5 5] en valores en el rango [0 1]. Si
xBounds
es un vaco
pgina 223

subclust
3-73
Matrix o no se proporciona, a continuacin,
xBounds
por defecto es el mnimo y el mximo
valores de los datos que se encuentran en cada dimensin de datos.
los
opciones
vector puede usarse para especificar parmetros del algoritmo de agrupamiento

para anular los valores por defecto. Estos componentes del vector
opciones
son
especificada como sigue:

Opciones (1) = quashFactor


: Este es el factor utilizado para multiplicar los radios
Los valores que determinan el entorno de un centro de la agrupacin, as como
para anular
el potencial de puntos perifricos para ser considerado como parte de ese grupo.
(Por defecto: 1.25)

Opciones (2) = acceptRatio


: Esto establece el potencial, como una fraccin de la
potencial de la primera agrupacin centro, por encima del cual ser otro punto de
datos
aceptado como un centro de la agrupacin. (Por defecto: 0.5)

Opciones (3) = rejectRatio


: Esto establece el potencial, como una fraccin de la
potencial de la primera agrupacin centro, debajo de la cual se rechaz un punto
de datos
como un centro de la agrupacin. (Por defecto: 0.15)

Opciones (4) = verbosa


: Si este trmino no es cero, entonces la informacin de progreso
se imprimir medida que el proceso avanza agrupacin. (Por defecto: 0)
La funcin devuelve los centros de los conglomerados en la matriz
do
; cada fila de
do
contiene
la posicin de un centro de la agrupacin. El retorno
S
vector contiene los valores sigma
que especifican el rango de influencia de un centro de la agrupacin en cada uno
de los datos
dimensiones. Todos los centros de los conglomerados comparten el mismo
conjunto de valores sigma.
Ejemplos
[C, S] = subclust (X, 0,5)

Este es el nmero mnimo de argumentos necesarios para utilizar esta


funcin. Una gama
de influencia de 0,5 se ha especificado para todas las dimensiones de datos.
[C, S] = subclust (X, [0,5 0,25 0,3], [], [2.0 0.8 0.7])
Esto supone que la dimensin de los datos es 3 (
x
tiene 3 columnas) y utiliza una amplia gama de
influencia de 0,5, 0,25, y 0,3 para la dimensin primero, segundo y tercero de
datos,
respectivamente. Los factores de escala para el mapeo de los datos en una unidad
se hyperbox
obtenerse a partir de los valores de datos mnimo y mximo. los
squashFactor
se establece en 2,0, lo que indica que slo queremos encontrar grupos que estn
lejos de cada uno
otro. los
acceptRatio
se establece en 0,8, lo que indica que slo se aceptarn los datos
puntos que tienen un potencial muy fuerte por ser centros de los
conglomerados. los
pgina 224

subclust
3-74
rejectRatio
se establece en 0,7, lo que indica que queremos rechazar todos los puntos de
datos
sin un potencial fuerte.
Ver tambin
genfis2
referencias
Chiu, S., "Fuzzy identificacin modelo basado en la estimacin de
clsteres," Diario de
Sistemas inteligentes y Fuzzy , vol. 2, No. 3, septiembre 1994.
Yager, R. y D. Filev, "Generacin de reglas difusas por la montaa Clustering"
Journal of Intelligent Systems y Fuzzy , vol. 2, No. 3, pp. 209-219, 1994.
pgina 225

SURFVIEW
3-75
3surfview
Propsito

visor de la superficie de salida.


Sinopsis
SURFVIEW ( 'a')
Descripcin
El Visor de superficie invoca mediante
SURFVIEW ( 'a')
es una herramienta de interfaz grfica de usuario que le permite
examinar la superficie de salida de un FIS almacenada en un archivo,
a.fis,
para una o dos
insumos. Ya que no altera el sistema difuso o su estructura FIS asociado
de cualquier manera, se trata de un editor de slo lectura. Uso de los mens popup, selecciona los dos
variables de entrada que desea asignar a los dos ejes de entrada (X e Y), as como
la
variable de salida que desea asignar al eje de salida (o Z). Selecciona el
Evaluar el botn para realizar el clculo y trazar la superficie de salida.
Al hacer clic en los ejes de la trama y arrastrando el ratn, se puede manipular la
superficie de modo que se puede ver desde diferentes ngulos.
Si hay ms de dos entradas a su sistema, debe proporcionar la constante
valores asociados a las entradas no especificadas en la seccin de entrada de
referencia.
Se refieren a "El Visor de superficie" en la pgina 2-61 para obtener ms
informacin acerca de cmo
utilizar
SURFVIEW
.
pgina 226

SURFVIEW
3-76
Elementos de men
En el Visor de superficie, hay una barra de men que le permite abrir GUI
relacionados
herramientas, abrir y guardar los sistemas, y as sucesivamente. El archivo de
men del Visor de superficie
es la misma que la que se encuentra en el Editor FIS. Referirse a
borroso
en la pgina 3-29 para
ms informacin.
Use las Ver elementos del men:
Editar propiedades de la FIS ... para invocar el Editor de esqu alpino.

Funciones de pertenencia Editar ... para invocar el Editor de miembro de


funcin.
Editar reglas ... para invocar el editor de reglas.
Ver reglas ... para invocar el Visor de Reglas.
Utilice las opciones de men:
Parcela de elegir entre ocho diferentes tipos de estilos de trazado.
Mapa de Colores para elegir entre varias combinaciones de colores diferentes.
Siempre evaluar para evaluar y trazar una nueva superficie de cada forma
automtica
vez que realice un cambio que afecta a la parcela (como cambiar el nmero de
puntos de la cuadrcula). Esta es la opcin por defecto. Para anular la seleccin
de esta opcin, seleccione una vez
Ms.
Ver tambin
anfisedit
,
borroso
,
gensurf
,
mfedit
,
RuleEdit
,
ruleview
pgina 227

trapmf
3-77
3trapmf
Propsito
Trapezoidal en forma de funcin de pertenencia incorporado.
Sinopsis
y = trapmf (x, [abcd])
Descripcin
La curva trapezoidal es una funcin de un vector,
x
, Y depende de cuatro escalar
parmetros un , b , c , y d , como se da por
o, de forma ms compacta, por
Los parmetros de una y d localizar los "pies" del trapecio y los parmetros b
y c localizar a los "hombros".

Ejemplos
x = 0: 0.1: 10;
y = trapmf (x, [1 5 7 8]);
plot (x, y)
xlabel ( 'trapmf, P = [1 5 7 8]')
fxa ; BCD
,,,
(
)
0,
xa

xa
licenciado en Letras
------------, Axb

1,
BxC

dx
corriente continua
------------, Cxd

0,
dx

=
fxa ; BCD
,,,
(
)
mximo minimo
xa
licenciado en Letras
------------ 1
dx
corriente continua
----------,,

0
,

=
0
2

4
6
8
10
0
0.25
0,5
0.75
1
trapmf, P = [1 5 7 8]
pgina 228

trapmf
3-78
Ver tambin
dsigmf
,
gaussmf
,
gauss2mf
,
gbellmf
,
evalmf
,
mf2mf
,
pimf
,
psigmf
,
sigmf
,
SMF
,
trimf
,
ZMF
pgina 229

trimf
3-79

3trimf
Propsito
Triangular en forma de funcin de pertenencia incorporado.
Sinopsis
y = trimf (x, params)
y = trimf (x, [ABC])
Descripcin
La curva triangular es una funcin de un vector,
x
, Y depende de tres escalar
parmetros un , b , y c , como se da por
o, de forma ms compacta, por
Los parmetros de una y c localizar a los "pies" del tringulo y el parmetro c
localiza el pico.
Ejemplos
x = 0: 0.1: 10;
y = trimf (x, [3 6 8]);
plot (x, y)
xlabel ( 'trimf, P = [3 6 8]')
fxa ; bc
,,
(
)
0,
xa

xa
licenciado en Letras
------------, Axb

cx
cb
-----------, BxC

0,
cx

=
fxa ; bc
,,
(
)
mximo minimo
xa
licenciado en Letras
-----------cx
cb
-----------,

0
,

=
0
2
4
6
8
10
0
0.25
0,5
0.75
1
trimf, P = [3 6 8]
pgina 230

trimf
3-80
Ver tambin
dsigmf
,
gaussmf
,
gauss2mf
,
gbellmf
,
evalmf
,
mf2mf
,
pimf
,
psigmf
,
sigmf
,
SMF
,

trapmf
pgina 231

writefis
3-81
3writefis
Propsito
Guardar un FIS en el disco.
Sinopsis
writefis (fismat)
writefis (fismat, ' nombre' )
writefis (fismat, ' nombre' , 'dilogo'
Descripcin
writefis
ahorra una estructura de espacio de trabajo de MATLAB de esqu alpino,
fismat
, como un
.fis
presentar en
disco.
writefis (fismat)
aparecer un cuadro de dilogo para ayudar con la denominacin y
ubicacin del directorio del archivo.
writefis (fismat, ' nombre' )
escribe una
.fis
archivo correspondiente al FIS
estructura,
fismat,
en un archivo de disco denominado
filename.fis
. Ningn cuadro de dilogo se utiliza y
el archivo se guarda en el directorio actual.
writefis (fismat, ' nombre' , 'dilogo')
aparecer un cuadro de dilogo con el
nombre predeterminado
filename.fis
suministrado.
La extensin
.fis
nicamente se aade a
nombre del archivo

si no est ya incluido en el
nombre.
Ejemplos
a = newfis ( 'volquete');
a = addvar (a, "entrada", "servicio", [10 0]);
a = addmf (a, 'de entrada', 1, 'pobres', 'gaussmf', [1,5 0]);
a = addmf (a, 'de entrada', 1, 'bueno', 'gaussmf', [1,5 5]);
a = addmf (a, 'de entrada', 1, 'excelente', 'gaussmf', [1,5 10]);
writefis (a, 'mi_archivo')
Ver tambin
readfis
pgina 232

ZMF
3-82
3zmf
Propsito
Z en forma de funcin de pertenencia incorporado.
Sinopsis
y = ZMF (x, [AB])
Descripcin
Esta funcin basada en la estra de
x
se llama as debido a su forma de Z. los
parmetros una y b localizar los extremos de la parte en pendiente de la curva.
Ejemplos
x = 0: 0.1: 10;
y = ZMF (x, [3 7]);
plot (x, y)
xlabel ( 'ZMF, P = [3 7]')
Ver tambin
dsigmf
,
gaussmf
,
gauss2mf
,
gbellmf
,
evalmf
,
mf2mf

,
pimf
,
psigmf
,
sigmf
,
SMF
,
trapmf
,
trimf
0
2
4
6
8
10
0
0.25
0,5
0.75
1
ZMF, P = [3 7]
pgina 233

I-1
ndice
UN
addmf
72, 76, 3-6
addrule
72, 76, 3-8
addvar
76, 3-9
la agregacin de 36, 4 0, 44, 60, 63, 86, 132, 133
Y el 30, 3 7, 63, 103
ANFIS 93
ANFIS
7, 92, 95, 104, 109, 112, 114, 125, 3-10
opciones 116
ANFIS editor grfico 7, 45 , 92, 95, 106, 109, 114,

3-14
anfisedit
67, 93, 95, 3-14
antecedente 35, 3 7, 59, 74, 86, 88, 132
segundo
retropropagacin 104
do
series de tiempo caticas 120
la comprobacin de datos 94, 118
error de comprobacin 119
la agrupacin 120, 121, 128, 132
algoritmos de agrupamiento 133
GUI agrupacin 128
32 consiguiente, 3 5, 40, 59, 74, 86, 132
antecedente 37
convertfis
3-16
re
defuzz
3-17
defuzzification 32, 36, 40, 49, 63, 95, 132
defuzzify 32, 41
grado de pertenencia 20, 2 4, 33, 35, 38
distfcm
121
dsigmf
27, 3-18
mi
tolerancia de error 104
evalfis
73, 126, 3-19, 3-26
evalmf
3-21
F
FCM
(fuzzy c-medios) 120, 128, 3-22
findcluster
128, 3-24
FIS 43, 4 7, 49, 53, 58, 65, 67, 73, 84, 92, 95, 109,
125, 132, 3-10
C-cdigo 130

Editor 45, 49, 68, 115


76 archivos
generando 100
Mamdani de tipo 49, 86, 91
matriz 73
ahorro de un 62 FIS
la estructura 93, 115, 117
Sugeno de tipo 86, 88, 95
Sugeno de tipo Ver tambin De tipo Sugeno inferencia
97
fuzblock
83, 3-27
fuzdemos
3-28
fusificacin 32, 37, 42, 49, 132
borroso
3-29
agrupamiento difuso 115, 120
Fuzzy C-means clustering 3-22
Fuzzy sistema de inferencia (FIS) 19, 45, 132
operadores difusos 29, 3 2, 37, 39, 44, 58, 63, 71, 131
fuzzy set 20, 23, 26, 35, 38, 40, 60, 86, 88, 132
pgina 234

ndice
I-2
GRAMO
gauss2mf
27, 3-32
gaussiano
27
gaussmf
27, 3-34
gbellmf
27, 3-35
genfis
111
genfis1
101, 3-36
genfis2
101, 126, 3-38
gensurf

70, 88, 90, 3-40


getfis
66, 76, 89, 3-42
Glosario 132
particin de rejilla 100
MARIDO
mtodo hbrido 104
yo
si-entonces, sus artculos 32
antecedente 32
32 consecuente
implicancia 32, 3 5, 37, 39, 43, 60, 63, 86
implicacin Ver tambin si-entonces, sus artculos 32, 133
initfcm
121
L
operaciones lgicas 28
METRO
mam2sug
3-45
36 mtodo de Mamdani
inferencia de estilo Mamdani 133
Inferencia 35, 4 Mamdani de tipo 9, 86, 90
max 41, 43
Funcin 23, 2 membresa 8, 35, 53, 55, 118, 133
editor de mf 103
Editor de miembros 45, Funcin 47, 52
funciones de pertenencia
campana 27
personalizado 63
27 de Gauss
27 Pi
S 27
sigmoidal 27
Z 27
MF Ver tambin funcin de pertenencia
mf2mf
3-46
mfedit
3-47
43 min

la validacin de modelos 94, 98


norte
inferencia difusa neuro-93
newfis
72, 3-49
NO 30, 103
O
O 30, 37, 43, 103
PAG
parsrule
3-50
pimf
28, 3-51
plotfis
68, 3-52
plotmf
68, 90, 3-53
probabilstico O 39
probor 41
psigmf
27, 3-54
pgina 235

ndice
I-3
R
readfis
65, 73, 88, 3-55
rmmf
76, 3-56
rmvar
76, 3-57
Editor de reglas 45, 56
formatos de reglas 3-15, 3-60
Regla Visor 45, 47, 59
RuleEdit
3-59
ruleview
3-61
S
setfis
66, 76, 3-63

sffis
84, 3-65
showfis
67, 74, 76, 3-66
showrule
3-68
sigmf
27, 3-70
bloques de Simulink
controlador difuso con ruleviewer 81
Controlador de Lgica Difusa 79, 83
Simulink, trabajando con 78
Singleton 36
sltank
79
SMF
28, 3-71
stand-alone C-cdigo 130
independiente del motor de inferencia difusa 130
tamao de paso 117
structure.field
Sintaxis 66, 73
subclust
3-72
agrupamiento sustractivo 100, 123, 128
Sugeno 123
De tipo Sugeno FIS Ver tambin de tipo Sugeno inferencia
101
Inferencia 37, 4 Sugeno de tipo 5, 50, 86, 88, 120, 124,
133
sum 41
Visor de superficie 45, 47, 6

Das könnte Ihnen auch gefallen