Beruflich Dokumente
Kultur Dokumente
Clculo
Visualizacin
Programacin
Caja de herramientas de la lgica difusa
Para uso con MATLAB
Gua de usuario
Versin 2
Pgina 2
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
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
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.
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
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
, 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
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
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
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"
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.
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
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
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:
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
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
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
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
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
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
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
( 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
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
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
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
A B
(X)=S(
UN
( X ),
segundo
( X ))
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
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
(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
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
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
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
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.
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
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
(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.
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
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
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
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
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
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,
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
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
, 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
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)
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
. 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
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
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]);
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
[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
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
.
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
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
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
2
Tutorial
2-86
Sugeno-Inferencia Difusa
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
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
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
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
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
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,
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
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
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
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
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
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
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.
t
0,2 x t
(
)
1x
10
t
(
)
+
---------------------------------- 0,1 x t
=
pgina 125
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
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
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
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
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
pgina 10
, 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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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)
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
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
0,7
0,7
pgina 49
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
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.")
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
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
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
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
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
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,
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
funcin.
Pgina 67
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
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
Informacin sobre
cmo la regla
Editor funciona, y
el Primer botn
cierra la ventana.
pgina 71
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
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
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
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
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
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
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
.
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
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
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
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
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
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
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.
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
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
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
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
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
2
Tutorial
2-96
A partir de esta interfaz grfica de usuario que pueda
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
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
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
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
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
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
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
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
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
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
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
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
2
Tutorial
2-120
Fuzzy Clustering
La agrupacin de los datos numricos forma la base de muchos sistema de
clasificacin y
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
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
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
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
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
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
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
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,
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)
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
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
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
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
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,
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
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
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)
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
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');
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
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.
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
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
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)
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
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.
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
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"
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;
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
,
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
RuleEdit
3-60
Elementos de men
En el Editor de reglas, hay una barra de men que le permite abrir GUI
relacionados
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,
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:
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
' Fispropname ' una cadena que indica la propiedad del campo FIS desea
poner:
nombre
,
tipo
,
andmethod
,
ormethod
,
impmethod
,
aggmethod
,
defuzzmethod
' 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 .
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
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
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)
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:
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
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.
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
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
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