Sunteți pe pagina 1din 192

UNIVERSIDAD DEL BIO-BIO

FACULTAD DE INGENIERA
DEPTO. DE INGENIERA ELCTRICA Y ELECTRNICA













DISEO E IMPLEMENTACION DE SISTEMAS DE
CONTROL INTELIGENTE UTILIZANDO LAS
HERRAMIENTAS FUZZYCONTROL++ Y
NEUROSYSTEMS DE SIEMENS










AUTORES:
- ITALO MAURICIO MONTECINOS MATAMALA
- CRISTIAN FABRIZIO ROA MUOZ




SEMINARIO PARA OPTAR AL TITULO DE
INGENIERO CIVIL EN AUTOMATIZACION


CONCEPCION-CHILE
2011



UNIVERSIDAD DEL BIO-BIO
FACULTAD DE INGENIERA
DEPTO. DE INGENIERA ELCTRICA Y ELECTRNICA














DISEO E IMPLEMENTACION DE SISTEMAS DE
CONTROL INTELIGENTE UTILIZANDO LAS
HERRAMIENTAS FUZZYCONTROL++ Y
NEUROSYSTEMS DE SIEMENS







AUTORES:
- ITALO MAURICIO MONTECINOS MATAMALA
- CRISTIAN FABRIZIO ROA MUOZ


DOCENTE PATROCINANTE:
- SR. CRISTHIAN AGUILERA CARRASCO

DOCENTE CORRECTOR:
- SR. JUAN ANTIPIL IBAEZ
i

Agradecimientos
A nuestras familias:
Por su entendimiento y apoyo continuo durante el largo proceso vivido. Nadie mejor
que ellos puede saber lo arduo que fue este proceso, y su apoyo incondicional durante este
fue lo que nos ayud a lograr nuestras metas.
A nuestras parejas:
Por apoyarnos durante el proceso y no rendirse ante nuestros continuos cambios de
estado de nimo y la poca, y a veces nula, disponibilidad de tiempo, con su compaa,
alegra y entendimiento nos han dado muchas veces el pequeo empujoncito que hace falta
para seguir luchando.
A nuestros amigos y compaeros:
Que incondicionalmente han estado ah para nosotros, gracias a ellos es que muchas
veces pudimos liberar el stress. Por otro lado, el trabajo en equipo que realizamos mayora
de los compaeros de nuestra generacin, nos permiti llegar a este momento que de otro
modo hubiese sido bastante ms difcil.
A Don Rodrigo Daz:
Por realizar las gestiones para conseguir las licencias de los software necesarios
para desarrollar nuestro trabajo de titulo.



ii

ndice
AGRADECIMIENTOS.i
INDICE...ii
RESUMEN.1
INTRODUCCION..3
Captulo 1: Redes Neuronales Artificiales .......................................................................................6
1.1.- Introduccin ........................................................................................................................6
1.2.- Historia de las Redes Neuronales Artificiales .......................................................................7
1.3.- Redes Neuronales Biolgicas ............................................................................................. 10
1.4.-Redes Neuronales Artificiales ............................................................................................. 11
1.5.- Aprendizaje de las Redes Neuronales Artificiales ............................................................... 15
1.5.1.- Aprendizaje Supervisado ............................................................................................ 16
1.5.2.- Aprendizaje No Supervisado o Autoorganizado .......................................................... 16
1.5.3.- Aprendizaje Hbrido .................................................................................................... 16
1.5.4.- Aprendizaje Reforzado ............................................................................................... 17
1.6.- Clasificacin de las Redes Neuronales Artificiales .............................................................. 17
1.7.- Algunos tipo de Redes Neuronales Artificiales ................................................................... 18
1.7.1.- Perceptrn Simple ...................................................................................................... 18
1.7.2.- Perceptrn Multicapa (MLP) ....................................................................................... 22
1.7.3.- Funciones de Base Radial (RBF)................................................................................... 26
1.8.- Aplicacin de las Redes Neuronales Artificiales .................................................................. 32
Captulo 2: Lgica Difusa .............................................................................................................. 36
2.1.- Introduccin ...................................................................................................................... 36
2.2.- Historia de la Lgica Difusa ................................................................................................ 37
2.3.- Conjuntos Difusos y No Difusos ......................................................................................... 38
2.4.- Tipos de Funciones de Pertenencia .................................................................................... 39
2.4.1.- La Funcin tipo Trapezoidal ........................................................................................ 40
2.4.2.- La Funcin tipo Singleton............................................................................................ 41
iii

2.4.3.- La Funcin tipo T (Triangular) ..................................................................................... 42
2.4.4.- La Funcin tipo S ........................................................................................................ 42
2.4.5.- La Funcin tipo ........................................................................................................ 43
2.5.- Operaciones entre conjuntos difusos................................................................................. 44
2.6.- Reglas Difusas ................................................................................................................... 47
2.7.- Control Difuso ................................................................................................................... 48
2.8.- Tipos de Controladores Difusos ......................................................................................... 50
2.9.- Controladores Difusos Tipo Mamdani ................................................................................ 51
2.9.1.- Fusificador .................................................................................................................. 51
2.9.2.- Inferencia ................................................................................................................... 52
2.9.3.- Desfusificador ............................................................................................................ 53
2.10.- Lgica Difusa y Probabilidad ............................................................................................ 55
2.11.- Ventajas y Desventajas del Control Difuso ....................................................................... 55
2.12.- Aplicacin del Control Difuso ........................................................................................... 57
2.13.- Controladores Difusos tipo Takagi-Sugeno ....................................................................... 62
Captulo 3: Sistemas Neuro-Difusos ............................................................................................. 64
3.1.- Principios de los Sistemas Neuro-Difusos ........................................................................... 64
3.2.- Clasificacin de los Sistemas Neuro-Difusos ....................................................................... 65
3.3.-Redes NFN ......................................................................................................................... 66
3.3.1.- Fusificacin Neuro-Difusa (1
ra
Subred)- ..................................................................... 67
3.3.2.-- Inferencia Neuro-Difusa (2
da
Subred)........................................................................ 68
3.2.3- Desfusificacin Neuro-Difusa (3
ra
Subred)................................................................... 70
Captulo 4: NeuroSystems y FuzzyControl++................................................................................ 71
4.1.- Sistemas Destino (Target Systems)...................................................................................... 72
4.1.1.- Descripcin de los Sistemas Destino ............................................................................. 72
4.1.2.- Limitaciones de los Sistemas Destino ........................................................................... 76
4.1.3.- Requerimientos de los Sistemas Destino ...................................................................... 77
4.2.- NeuroSystems V5.1 ............................................................................................................ 80
4.2.1.- Creacin de un Proyecto Nuevo ................................................................................... 80
4.2.2.- Edicin de las Propiedades de las Entradas y Salidas de la Red Neuronal ...................... 83
iv

4.2.3.- Seleccin del tipo de Red ............................................................................................. 84
4.2.3.1.- Configuracin de una Red Neuronal MLP .............................................................. 85
4.2.3.2.- Configuracin de una Red Neuronal RBF ............................................................... 86
4.2.3.3.- Configuracin de una Red Neuro-Difusa ............................................................... 87
4.2.3.4.- Configuracin del Aprendizaje .............................................................................. 89
4.2.3.4.1.- Seleccin del Archivo de Entrenamiento ........................................................ 90
4.2.3.4.2.- Inicio del Proceso de Aprendizaje (Start Learning Process) ............................. 92
4.2.3.5.- Anlisis de Archivos de Datos de Aprendizaje ....................................................... 94
4.2.3.5.1.- Distribucin .................................................................................................... 95
4.2.3.5.2.- Combinacin .................................................................................................. 96
4.2.3.5.3.- Relevancia de Entrada .................................................................................... 97
4.2.3.5.4.- Resumen de Error .......................................................................................... 98
4.3.- FuzzyControl++V6.0......................................................................................................... 99
4.3.1.- Inicio de un Proyecto Nuevo con FuzzyControl++......................................................... 99
4.3.2.- Edicin de las Propiedades de las Entradas Difusas .................................................... 100
4.3.2.- Edicin de las Propiedades de las Salidas Difusas ....................................................... 102
4.3.4.- Edicin de las Reglas Difusas ...................................................................................... 104
4.3.5.- Actividad de la Regla .................................................................................................. 107
4.4.- Opciones de Visualizacin y Validacin comunes en NeuroSystem y FuzzyControl++...... 109
4.3.1.- Representacin Grfica 3D ......................................................................................... 110
4.3.1.- Trazador de Curvas .................................................................................................... 114
4.3.1.- Diagrama de Error ...................................................................................................... 121
4.3.1.- Representacin Vectorial ........................................................................................... 122
4.3.1.- Representacin de la Seal ........................................................................................ 123
Captulo 5: Plan de Trabajo ........................................................................................................ 125
5.1.- Estrategia de Control ...................................................................................................... 126
5.2.- Mtodos ........................................................................................................................ 127
5.3.- Procedimientos de Diseo de los Controladores ............................................................. 129
Captulo 6: Diseo, Pruebas y Resultados................................................................................... 131
6.1.- Controlador Difuso ......................................................................................................... 132
v

6.1.1.- Diseo del Controlador Difuso ................................................................................. 132
6.1.2.- Validacin del Controlador Difuso............................................................................ 134
6.1.3.- Pruebas y Resultados del Controlador Difuso ........................................................... 139
6.1.4.- Problemas Detectados ............................................................................................. 140
6.2.- Controlador Neuro-Difuso .............................................................................................. 141
6.2.1.- Anlisis del Aprendizaje realizado por el Controlador Neuro-Difuso ......................... 142
6.2.2.- Validacin del Controlador Neuro-Difuso ................................................................. 143
6.2.3.- Pruebas y Resultados del Controlador Neuro-Difuso ................................................ 144
6.2.4.- Problemas Detectados ............................................................................................. 147
6.2.5.- Anlisis de las Modificaciones realizadas por el Aprendizaje en la Estructura Difusa 148
6.3.- Controlador Neuro-Difuso Multivariable ........................................................................ 151
6.3.1.- Anlisis del Aprendizaje realizado por el Controlador Neuro-Difuso Multivariable ... 152
6.3.2.- Validacin del Controlador Neuro-Difuso Multivariable ........................................... 153
6.3.3.- Pruebas y Resultados del Controlador Neuro-Difuso Multivariable .......................... 154
6.3.4.- Problemas Detectados ............................................................................................. 157
6.4.- Controlador PID ............................................................................................................. 157
6.4.1.- Implementacin de Controlador PID en PLC S7-200 ................................................. 158
6.4.2.- Resultados y comparacin de los Controladores PID y Neuro-Difuso ........................ 159
Conclusiones .............................................................................................................................. 162
Bibliografa ................................................................................................................................ 167
Anexos ....................................................................................................................................... 169
Anexo A: Fuzzy Programming Language ................................................................................. 169
Anexo B: Aplicacin del Sistema Destino WinCC ..................................................................... 174
B.1.- Intercambio de Datos entre Dispositivos Entrada-Salida y PLC .................................... 174
B.2.- Intercambio de Datos entre PLC y WinCC ................................................................... 176
B.3.- Instalacin Sistema Destino WinCC............................................................................. 176
B.4.- Configuracin del Objeto Neuro ................................................................................. 177
Anexo C: Aplicacin del ActiveX de NeuroSystems en Borland Builder 6.0 ............................. 181
B.1.- Aplicacin de un Programa utilizando ActiveX ............................................................ 183
1

Resumen

En este trabajo se desarroll estrategias de control inteligente, basndose en dos grandes
materias de la inteligencia artificial, las cuales son las redes neuronales artificiales y la
lgica difusa. Cada una de estas teoras presentan numerosas ventajas y desventajas, por lo
que al juntarlas lo que buscamos es rescatar las caractersticas ms importantes de cada una
de ellas y potenciar su uso en conjunto.

El objetivo principal de esta tesis es el diseo y la implementacin de estrategia de control
inteligente capaces de controlar el nivel de un estanque situado en el laboratorio de control
de la Universidad del Bo-Bo.

Para realizar la implementacin se utiliz dos herramientas de programacin
proporcionados por Siemens, FuzzyControl++ (para la realizacin de sistemas difusos) y
NeuroSystem. (Para la implementacin de sistemas neuronales y neuro-difusos).

Se implementaron distintos tipos de controladores basndose en los programas de Siemens.
Se disearon controladores difusos, neuronales y neuro-difusos, con el fin de comparar sus
desempeos y las dificultades y/o facilidades de cada implementacin.

A continuacin se presenta una descripcin de cada captulo:

En el Captulo 1 se presenta la teora sobre las redes neuronales artificiales, explicando en
detalle el funcionamiento de algunos tipos de red.

En el Captulo 2 se describen los conceptos claves de la lgica difusa, explicando estos a
travs de un ejemplo.

2

En el Captulo 3 se muestran las bases de los sistemas neuro-difusos, los cuales son una
mezcla entre la lgica difusa y las redes neuronales.

En el Captulo 4 se explican las principales caractersticas y funcionalidades de los
programas NeuroSystems y FuzzyControl++, ambos programas creados por Siemens.

En el Captulo 5 se presenta el plan de trabajo a seguir para llevar a cabo el diseo y la
implementacin de los controladores.

En el Captulo 6 se muestra el diseo y el anlisis de los resultados obtenidos en cada
controlador.

Objetivo general

- Disear e implementar un controlador neuro-difuso para regular de manera
automtica e inteligente el nivel del estanque existente en el laboratorio de control.

Objetivos especficos

- Disear un control inteligente neuro-difuso a travs de los mdulos FuzzyControl++
y NeuroSystems.

- Implementar el control neuro-difuso utilizando el PLC S7-300 de Siemens en
control de nivel.

- Comparar el control neuro-difuso con una estrategia de control clsica.


3

Introduccin
La mayora de los procesos existentes en la industria son difciles o imposibles de modelar,
lo cual presenta una importante limitante a las estrategias de control clsicas, que para su
parametrizacin, es fundamental contar con un modelamiento matemtico de la planta.

Los lazos de regulacin que se utilizan habitualmente en la industria de procesos se basan,
hoy en da, prcticamente de forma casi exclusiva en reguladores PID, e incluyen
posibilidades de intervencin manual por parte del operador de la planta. Pero los
reguladores PID no pueden con procesos con respuesta dinmica compleja o cuando existen
variables acopladas.

La aplicacin puntual de procedimientos modernos de regulacin (Advanced Process
Control, APC) permite a las empresas de la industria de procesos disponer de una
herramienta concreta para reducir los costos e incrementar la calidad.

Control Avanzado de Procesos de Siemens
Siemens ha desarrollado un set de herramientas para realizar un control avanzado de
procesos complejos. A continuacin se describe cada herramienta en particular:

INCA: Controlador multivariable predictivo por modelo, se utiliza en procesos altamente
interactivos en los que hay que controlar varias variables y manipular otras tantas de forma
simultnea.

PRESTO (Sensores Soft para magnitudes de calidad no medibles): Esta herramienta
proporciona mtodos de clculo que determinan las variables de calidad no medibles, tales
como densidad, concentracin, ndice de fusin, viscosidad, etc., en base a variables de
proceso medibles (presiones, caudales, temperaturas, niveles, etc.). El clculo se efecta
4

basndose en un modelo paramtrico no lineal, creado con datos histricos de la planta o
con tests especficos.

RaPID (Herramienta de experto para la optimizacin de reguladores PID): El paquete
de programas RaPID es una herramienta no asociada a ningn controlador ni fabricante, y
que se utiliza para optimizar de forma rpida y cmoda reguladores PID difciles de ajustar.

ADCO (Control Adaptativo): Se utiliza en procesos que contienen tiempos muertos de
gran duracin o cambian en funcin a su dinmica en tiempo o segn su punto de trabajo.

MATLAB/SIMULINK-DDE-Client (Acoplamiento online para APC): Para la puesta en
prctica de los algoritmos APC probados en una simulacin fuera de lnea (offline), se
puede usar el cliente MATLAB/SIMULINK-DDE. Permite el acoplamiento online apto
para tiempo real de MATLAB/SIMULINK a cualquier servidor DDE Server y, por lo tanto,
la creacin rpida de prototipos de las funciones de automatizacin con todo el conjunto de
libreras MATLAB.

FUZZYCONTROL++ (Herramienta de Configuracin para Fuzzy Logic): La
herramienta de configuracin permite crear una estrategia de control difuso. Ofrece
soluciones para regulaciones no lineales y pronsticos de comportamiento de procesos
matemticamente complejos en automatizacin de procesos, difciles o imposibles de
realizar con herramientas estndar.

NEUROSYSTEMS (Herramienta para Redes Neuronales): La herramienta de
configuracin NeuroSystem de Siemens permite crear redes neuronales artificiales para
regulaciones no lineales y procesos matemticos complejos de la automatizacin de
procesos que, con los medios y mtodos habituales, no se podran realizar o cuya
realizacin sera muy costosa.

5

La presente tesis se centra especficamente en el estudio de las potencionalidades de las
herramientas APC FUZZYCONTROL++ y NEUROSYSTEMS, y de esta forma desarrollar
sistemas neuro-difusos, los cuales pueden aprovechas las ventajas de las redes neuronales y
la lgica difusa para el ptimo control de un proceso industrial complejo.

Un sistema neuro-difuso es capaz de establecer un control inteligente sin necesidad de
contar con dicho modelo, necesitndose slo conocer la operatividad (el conocimiento del
tcnico operario) del proceso, algunas ideas intuitivas basadas en criterios de ingeniera y el
software adecuado que permita establecer este tipo de control.

Al aplicar la tecnologa neuro-difusa es posible automatizar procesos no lineales complejos,
evitando las complicaciones matemticas inherentes a la teora de control clsico.







6

Captulo 1: Redes Neuronales Artificiales (RNA)
1 . 1 . INTRODUCCIN

Uno de los grandes enigmas que ha rodeado al hombre desde pocas ancestrales es saber
cules son las caractersticas que nos hacen ser seres humanos. Saber qu es lo que nos
diferencia del resto de los seres vivos del planeta.

Este enigma est asociado al de la inteligencia, debido a que es esta la que nos diferencia de
los otros seres vivos. Es por esto que el tema de la inteligencia ha fascinado a los filsofos
y cientficos, quienes han estudiado y escrito numerosos libros acerca de este tema, pero sin
lograr avances significativos.

Crear sistemas inteligentes capaces de tomar decisiones por si mismos son uno de los
principales retos para el ser humano. Debido a esto existe una disciplina encargada de
estudiar esto, llamada Inteligencia Artificial.

Dentro de la Inteligencia Artificial se distinguen dos areas. La primera preocupada
netamente a construir sistemas con caractersticas que puedan ser definidas como
inteligentes. A esta primera rea se le denomina como Inteligencia Artificial Simblica.
Su principal caracterstica es que se define el problema a resolver y se crea un sistema
capaz de resolverlo siguiendo tcnicas y mtodos predefinidos por la disciplina.

La otra rea es denominada Inteligencia Artificial Subsimblica. La caracterstica de esta
rea es que se comienza desde un sistema genrico para resolver un problema. Este sistema
va adaptndose y reconstruyndose hasta lograr ser un sistema capaz de resolver el
problema en cuestin.

7

Del rea de la Biologa sabemos que el mecanismo que permite a los seres vivos realizar
tareas no programadas es el sistema nervioso. Es por esto que la Inteligencia Subsimblica
trata de estudiar los mecanismos del sistema nervioso, como los del cerebro, su estructura,
funcionamiento y caractersticas lgicas. Esto ltimo se hace para crear sistemas que
emulen estas caractersticas, y de esta forma que se asimilen a la inteligencia humana y
puedan resolver cualquier tipo de problema. Es aqu donde se encasilla a las Redes
Neuronales Artificiales (RNA), las cuales tratan de simular el comportamiento de las
Neuronas humanas.

Las Redes Neuronales Artificiales buscan solucionar problemas complejos, solucin que
normalmente no corresponde a una secuencia de pasos, sino a la evolucin de algoritmos
computacionales inspirados en el cerebro humano, y de esta manera, dotarlos de cierta
Inteligencia. Las Redes Neuronales Artificiales son combinaciones de procesos (que en
este caso se denominan Neuronas), los cuales pueden operar en paralelo o de distintas
formas.

Las utilizaciones ms comunes de las Redes Neuronales Artificiales son para resolver
problemas relacionadas con codificacin, reconocimiento de formas o patrones, prediccin,
control y optimizacin entre otras aplicaciones.

1 . 2 . HISTORIA DE LAS REDES NEURONALES

Se podra considerar como el comienzo del estudio de las RNA cuando el neurobilogo
Warren McCulloch y el estadstico Walter Pitss publicaron en conjunto el artculo A
logical calculus of Ideas Imminent in Nervous Activity en el ao 1943. Este artculo no
solo fue el principio para el estudio de las RNA, sino que tambin constituy el inicio de
otros campos, como los Ordenadores Digitales (John Von Neuman) y la Inteligencia
Artificial (Marvin Minsky con los Sistemas Expertos).

8

Otra importante publicacin fue realizada en el ao 1949 y llevaba por nombre La
Organizacin del Comportamiento. Fue hecha por Donald Hebb y en ella se explic por
primera vez los procesos del Aprendizaje desde un punto de vista sicolgico (Elemento
bsico de la Inteligencia Humana). El plante que el aprendizaje se llevaba a cabo cuando
se activaban ciertos cambios en una neurona. Hasta hoy en da esto es el fundamento de la
mayora de las funciones de aprendizaje que se pueden encontrar en una RNA.

Un ao ms tarde Karl Lashley encontr que la informacin no se almacenaba de una
forma centralizada en el cerebro, sino que se distribua encima de l.

Quizs uno de los aos mas importantes para el estudio de las RNA y para la Inteligencia
Artificial fue el ao 1956. En este ao se organiz la primera conferencia de Inteligencia
Artificial en Inglaterra, y sirvi como la primera toma de contacto seria con las RNA.

En 1957 Frank Rosenblatt revolucion los estudios sobre las RNA al publicar el mayor
trabajo en computacin neuronal hasta esas fechas. Su trabajo consisti en la creacin de un
elemento llamado Perceptrn. Este elemento permita clasificar patrones. Adems
permita generalizar, es decir, luego de haber aprendido a reconocer ciertos patrones era
capaz de reconocer patrones similares, aunque no se los hubiese presentado anteriormente.

Bernard Widrow y Marcial Hoff desarrollaron en 1960 el modelo Adaline (ADAptative
LINear Elements). Lo importante de este modelo fue que su creacin se llevo a cabo de la
necesidad de solucionar un problema real, el cual era la creacin de filtros adaptativos para
poder eliminar los ecos en las lneas telefnicas.

En el ao 1969 los avances que se haban realizado hasta el momento sobre las RNA se
veran frenados. Esto debido a que este ao Marvin Minsky y Seymour Papert, del Instituto
Tecnolgico de Massachusetts (MIT), publicaron el libro Perceptrons, el cual era una
crtica al modelo del Perceptrn. En este libro demostraron matemticamente que el
perceptrn no era capaz de resolver problemas relativamente fciles, como el aprendizaje
9

de una funcin no lineal. Esta crtica hizo que prcticamente desaparecieran las inversiones
para apoyar los estudios sobre las RNA, puesto que las funciones no lineales son muy
empleadas en la computacin y en la vida real. La conclusin a la que se lleg en el libro
fue que el perceptrn y la computacin neuronal no eran temas interesantes para el estudio
y para el desarrollo. A partir de esto los estudios sobre las RNA se vieron estancados.

Teuvo Kohonen, en el ao 1977, trabaj en el anlisis de reglas adaptativas, reglas en las
cuales las conexiones ponderadas se ven modificadas, dependiendo de valores anteriores y
posteriores a la sinapsis. Otro aporte importante de Kohonen es el estudio sobre el
aprendizaje competitivo. En este tipo de aprendizaje los elementos compiten por responder
a un estmulo de entrada, y el que logre ganar ser el que se adapte ms que los otros para
de esta manera responder mejor a los estmulos de entrada.

Otro investigador que sigui con sus trabajos a pesar de la crtica de Perceptrons fue Paul
Werbos, quien en 1974 desarroll una idea bsica sobre el algoritmo de aprendizaje hacia
atrs (Backpropagation).

John Hopfield provoc el renacimiento del estudio sobre las RNA en el ao 1985, cuando
public su libro denominado Computacin Neuronal de Decisiones en Problemas de
Optimizacin. En este libro Hopfield presenta un sistema de computacin neuronal
consistente en elementos procesadores interconectados que buscan y tienden a un mnimo
de energa. Adems del aporte de Hopfield el renacimiento del inters sobre las RNA se vio
influenciado por el redescubrimiento del algoritmo Backpropagation, el cual fue
realizado en conjunto por David Rumelhart y G. Hinton.

Hoy en da existen muchos grupos trabajando en investigaciones sobre las RNA. Estos
grupos estn localizados en distintas universidades alrededor de todo el mundo. Cada grupo
tiene nfasis en temas o enfoques distintos.


10

1 . 3 . REDES NEURONALES BIOLGICAS

Como se mencion anteriormente, las RNA se basan en el sistema nervioso del cerebro.
Debido a esto es conveniente exponer algunos conceptos bsicos de los sistemas neuronales
biolgicos, para de esta manera entender de mejor manera el paralelismo existente entre las
RNA y los sistemas neuronales biolgicos.

Los sistemas neuronales biolgicos, descubiertos por el aragons Santiago Ramn y Cajal
en el ao 1888, constituyen un sistema de procesamiento. Estos sistemas tienen la misin
de recoger informacin del exterior o de algn rgano, transmitirlo y elaborarlo, y en parte,
almacenarla y enviarla nuevamente de forma elaborada.

La parte fundamental de un sistema neuronal biolgico es la Neurona, la cual se puede ver
como un procesador de informacin. A continuacin se muestra un diagrama tpico de una
clula nerviosa tpica:


Figura N1.1: Descripcin de una clula nerviosa tpica.

Como todo sistema de proceso, este posee canales o medios por donde entran seales de
informacin, llamadas Dendritas. Tambin posee un rgano de cmputo, el cual se llama
Ncleo. Como entra una seal y luego se procesa, debe haber un canal de salida, el cual se
denomina Axn. Cuando una seal de salida es propagada hacia el axn, esta se ramifica y
11

llega hacia las dendritas de otras clulas a travs de lo que se denomina Sinapsis. Por lo
tanto la sinapsis es el mtodo de unin ente el axn de una clula y las dendritas de otra. Si
bien no existe un contacto fsico entre estas, puesto que estn separadas por un pequeo
vacio de unas 0.2 micras, si se ven unidas por un lquido existente en este vaco. En este
lquido, denominado Espacio Intersinptico, existen determinadas concentraciones de
elementos ionizados, los cuales hacen que este espacio posea ciertas propiedades de
conductividad. Estas propiedades hacen, en cierto grado, que pasen o no los impulsos
elctricos desde una neurona hacia otra.

La informacin proveniente del exterior, visual, tctil, auditiva, etc..., es recibida por los
receptores. A esta informacin se le denomina Estmulo. Esta informacin, luego de ser
elaborada, se transforma en impulsos electro-qumicos. Estos impulsos son las seales que
ponen en funcionamiento las redes neuronales del sistema nervioso, la cual enva esta
informacin hacia los efectores (rganos, msculos, glndulas), transformando esta
informacin electro-qumica en acciones motoras.

De esta manera es como nuestro organismo recibe, procesa y elabora la informacin
proveniente del exterior. Nuestro comportamiento inteligente sigue un esquema de este
tipo. Estos esquemas son los que las RNA tratan de emular para resolver problemas
complejos.

1 . 4 . REDES NEURONALES ARTIFICIALES

Como se mencion anteriormente, la Inteligencia Artificial Subsimbolica busca emular el
comportamiento del sistema nervioso humano, para de esta manera tratar de crear sistemas
genricos capaces de emular la inteligencia humana. Las RNA nacieron del estudio del
sistema neuronal biolgico, por lo que sus caractersticas tratan de asimilarse a las de las
biolgicas.
Bsicamente a una RNA consta de de los siguientes elementos:

12

- Un conjunto de entradas . El cual puede ser una seal entrante, ya sea digital
o anloga dependiendo del tipo de RNA que se utilice. O tambin puede ser la
salida de otra neurona.

- Pesos sinpticos de la neurona . Este peso define la interaccin que habr entre
las dos neuronas conectadas, la presinptica j y la postsinptica i. Si se produce una
entrada positiva, la cual puede provenir de una neurona o de un sensor, y el peso es
positivo, esta entrada excitar a la neurona postsinptica. De caso contrario, si el
peso es negativo la entrada la inhibir. De esta forma se encuentran dos tipos de
sinapsis, excitadora (pesos positivos) o inhibidora (pesos negativos).

- Regla de Propagacin , el cual calcula el valor postsinptico
de la neurona, el cual es funcin de las entradas y de los pesos. La funcin de
propagacin ms utilizada es de tipo lineal, la cual consiste en sumar
ponderadamente las entradas con sus respectivos pesos, es decir:



Una regla de tipo no lineal, la cual es limitada en cuanto a su uso es la siguiente:



Esta funcin es de tipo multiplicativo, es decir, en vez de sumar las entradas
ponderadas se multiplican. El uso de esta funcin de propagacin hace que las
neuronas que la utilicen se denominen como de orden superior o neurona sigma-
pi.
(1.1)
(1.2)
13

Otra regla de propagacin que es comnmente utilizada en los modelos de RNA
basados en clculo de distancias vectoriales, como las RBF, es la distancia
eucldea:



El funcionamiento de esta regla se explicar posteriormente, debido a que en este
trabajo se profundizar en las RBF.

- Funcin de Activacin o Funcin de Transferencia: Esta nos proporciona el
estado actual de activacin en funcin del valor postsinptico y tambin
del estado de activacin pasado . De esta manera se tiene:



En muchos modelos de RNA la funcin de activacin no considera el valor pasado de
esta, por lo que se tiene:



A continuacin presentaremos una imagen en la que se podrn apreciar las funciones de
activacin ms utilizadas. En la tabla, x corresponde al valor postsinptico, y al estado
de activacin.
(1.3)
(1.4)
(1.5)
14


Figura N2: Funciones de Activacin ms utilizadas

La funcin ms simple de todas corresponde a la funcin Identidad. Esta no solo
corresponde a la funcin de identidad, sino que se puede interpretar a esta como
cualquier funcin lineal. Un ejemplo de una RNA que utiliza esta funcin de
activacin es la Adeline. La funcin Escaln es otra funcin catalogada como
simple, y un ejemplo de RNA que la utiliza es el Perceptrn simple.
Como veremos ms adelante, a cada modelo de RNA se le asocia un algoritmo de
aprendizaje. Este algoritmo, en ciertas ocasiones, requiere que la funcin de
activacin que se quiera emplear sea derivable. De ser as, una funcin de activacin
muy utilizada es la de tipo Sigmoideo.
Como en este trabajo nos centraremos en las RBF, tendremos que utilizar funciones
de activacin de tipo Gaussiana.
15

- Funcin de Salida: Esta es la funcin que proporciona la salida real de la neurona
. La mayora de las veces la funcin de salida corresponde a la funcin
identidad, de forma que el valor de activacin pasa a ser la salida directamente.
Generalizando tenemos:



Otro tipo de funcin de salida es el de Escaln. Con esta funcin la neurona no se
disparar hasta que el valor de activacin alcance cierto valor conocido como umbral.

En la siguiente figura se observa un diagrama general de una RNA:


Figura N3: Modelo genrico de una Red Neuronal Artificial

1 . 5 . APRENDIZAJE DE LAS REDES NEURONALES ARTIFICIALES

Una de las caractersticas ms poderosas de las RNA es la capacidad de aprender, es decir,
se les da algunos ejemplos de cmo se desea que se desempee para que luego esta aprenda
y pueda valerse por s misma.
El aprendizaje de una RNA podra definirse simplemente como el proceso en el que se
reajustan los parmetros libres de la red (la mayora de las veces los pesos) a partir de un
(1.6)
16

proceso de estimulacin. En la prctica consiste en modificar los pesos sinpticos siguiendo
alguna funcin de optimizacin de error o costo. Si es el peso que conecta la
neurona presinptica j con la postsinptica i en la iteracin t, el algoritmo de entrenamiento,
en funcin de los datos actuales de la red, arrojar el valor , el cual corresponde a la
modificacin que se debe realizar a dicho peso, el cual quedar actualizado de la siguiente
forma:



Este proceso de aprendizaje es iterativo, realizndose hasta que la red alcanza un
desempeo deseado.
En general pueden distinguirse cuatro tipos de aprendizajes, los cuales son: Supervisado,
No Supervisado o Autoorganizado, Hbrido y Reforzado.

1 . 5 . 1 Aprendizaj e Supervi sado: En simples palabras, el aprendizaje supervisado
consiste en presentarle a la red patrones de entrada junto con la salida que se desea
obtener, y as la red comenzar a iterar para ir ajustando sus pesos. Esto ltimo se realiza
hasta que se obtenga la salida deseada, y para esto utiliza informacin acerca del error
que se va cometiendo en cada iteracin.

1 . 5 . 2 Aprendizaj e No Supervisado o Autoorganizado: En este tipo de
aprendizaje a la red se le presentas solo los patrones de entrada, sin incluir los valores de
salida. La red estimar una funcin de densidad de probabilidad que describe la
distribucin de los patrones x, y con esto pueden extraerse caractersticas de los datos de
entrada como los rasgos, o tambin agrupar segn similitud.

1 . 5 . 3 Aprendizaj e Hbrido: Aqu coexisten ambos tipos de aprendizaje nombrados
anteriormente, pero ambos tienen a lugar en distintas capas de la estructura de la red. El
modelo RBF ocupa este tipo de aprendizaje.
(1.7)
17


1 . 5 . 4 Aprendizaj e Reforzado: Se sita en medio del supervisado y del
Autoorganizado. Ocupa la cualidad de ir considerando el error cometido en cada etapa
de iteracin. Este error pasa a ser una seal global de rendimiento, el cual le indica a la
red si est actuando bien o lo est haciendo mal. Pero en este tipo de aprendizaje, al
igual que en el Autoorganizado no se le indica a la red la salida que se desea.

1 . 6 . CLASIFICACIN DE LAS REDES NEURONALES ARTIFICIALES

Las RNA pueden clasificarse de distintas maneras. Ya sea por el tipo de neurona que se
utilice, la arquitectura o topologa utilizada en la conexin o del algoritmo de aprendizaje.
Pero los conceptos que ms caracterizan a una RNA son el tipo de aprendizaje y la
arquitectura de la red. Es por esto que para clasificar las RNA se utilizar la propuesta de
Simpson, la cual se muestra en la siguiente figura:


Figura N 1.4: Clasificacin de las RNA por el tipo de Aprendizaje y Arquitectura

18

En la figura 1.4 se puede apreciar una primera clasificacin la cual corresponde a una
clasificacin hecha segn el tipo de aprendizaje. Luego de esto se subdivide cada divisin
segn el tipo de arquitectura o topologa que posee.
La figura 1.4 resalta que las RNA con aprendizaje supervisado y topologa unidireccional
es el grupo ms numeroso. Este grupo es de importante relevancia debido a que son los
sistemas ms empleados en aplicaciones prcticas.

1 . 7 . ALGUNOS TIPOS DE REDES NEURONALES ARTIFICIALES

A continuacin se presenta algunos tipos de RNA, los cuales son los ms conocidos
haciendo nfasis en las RBF y en las MLP, que es en donde se centra el estudio.


1 . 7 . 1 Perceptrn Si mpl e

Como se dijo anteriormente, el modelo del perceptrn simple fue introducido por
Rosenblatt en el ao 1957. Este modelo estaba basado en el estudio de la visin de los
animales, en los cuales la informacin captada va pasando por diferentes capas de
neuronas, las cuales van realizando un procesamiento progresivamente de ms alto nivel.

Como se puede ver en la figura 1.4, el perceptrn es una red unidireccional y de aprendizaje
supervisado. Est compuesto por 2 capas de neuronas: una sensorial, la cual no realiza
ningn procesamiento, solo es encargada de obtener la informacin (seal de entrada) y
enviarla a la siguiente capa, y otra de salida, la cual procesa la informacin y la enva hacia
la salida. Si bien consta de dos capas, el nmero de neuronas en cada capa es variable. Si se
considera n neuronas de entrada y m neuronas de salida, y tambin se considera que la
funcin de activacin de las neuronas de la capa de salida es de tipo escaln, la operacin
de la red se puede expresar como se muestra en la ecuacin 1.8.

19



Donde son los pesos sinpticos, es la entrada a la red y es el umbral el cual se
resta del potencial postsinptico.

La importancia de esta red es debido a su entrenamiento, puesto que el algoritmo permite
calcular rpidamente los pesos que clasifican un conjunto de patrones a partir de una
cantidad de ejemplos. Tambin su aplicacin como clasificador o como representador de
funciones booleanas. Es en esto ltimo donde el Perceptrn mostr cierta debilidad. Si bien
el perceptrn tiene cierta facilidad para discriminar entre dos clases linealmente separables
(es donde las regiones de decisin estn separadas por una nica condicin lineal), es
incapaz de hacerlo cuando esto ltimo no es as. Es por esto que el perceptrn era incapaz
de representar la funcin lgica X-OR, debido a que existen 3 regiones de decisin, es
decir, no es linealmente separable.

En la X-OR, para discriminar entre un estado 0 y otro 1 es necesario cumplir 2 condiciones.
Para saber si el estado es 1 es necesario que el valor de salida sea menor a una recta y
mayor a otra. Esta condicin era incapaz de resolver por el perceptrn. Si bien aos ms
tarde se encontr que una posible solucin sera agregar una nueva capa ubicada entre la
capa de entrada y la de salida, llamada capa oculta, no se pudo solucionar por completo el
problema, debido a que los pesos entre las capas anteriores y la nueva capa eran imposibles
de calcular con el algoritmo de aprendizaje del perceptrn. La solucin se conocera aos
ms tarde con la creacin del algoritmo Backpropagation.

En la figura 1.5 se muestran las regiones de decisin resultantes al tener 0, 1 o 2 capas
ocultas.

(1.8)
20


Figura N 1.5: Regiones de decisin del perceptrn
en funcin del nmero de capas ocultas

Algoritmo de aprendizaje del perceptrn: Como se dijo anteriormente, la importancia
del perceptrn era debido a su algoritmo de aprendizaje. Este algoritmo permita determinar
automticamente los pesos sinpticos. Es un algoritmo de correccin de errores, en donde
los pesos se ajustan en proporcin a la diferencia existente entre la salida actual de la red y
la salida deseada, con el objetivo de minimizar el error actual de la red.

Suponga un conjunto p de patrones , con sus salidas deseadas y la salida
real de la red . Tambin una arquitectura de perceptrn simple donde se desea que
clasifique correctamente todos los patrones del conjunto de aprendizaje. Si al presentar el
patrn u-simo la respuesta proporcionada por la red es correcta, no se actualizan los pesos,
de caso contrario se actualizan segn la siguiente regla:



(1.9)
21

La ecuacin 1.9 se puede escribir de la siguiente forma:



La cual es conocida como la regla del perceptrn. El parmetro corresponde al ritmo de
aprendizaje, donde un valor alto de este har que el entrenamiento entre en oscilaciones y
un valor bajo significar una lenta convergencia.
El proceso de aprendizaje del perceptrn es iterativo, es decir, se le presentan los patrones
una y otra vez, para que la red pueda ajustar los pesos, de manera de obtener una buena
clasificacin. Considerando que el aprendizaje es un proceso iterativo, el ajuste de los pesos
en el tiempo t ser:


Donde son los valores de los pesos a actualizar.
En la siguiente figura se puede ver como una red perceptrn aprende a separar 2 clases
distintas a travs de cada iteracin:


Figura N 1.6: Evolucin del Aprendizaje de un Perceptrn

(1.10)
(1.11)
22

1 . 7 . 2 Perceptrn Multicapa (MLP)

Como se mencion anteriormente, el problema principal del perceptrn era su incapacidad
de tomar decisiones en las cuales la regin de decisin tuviese tres o ms reas. La solucin
a este problema se encontr pocos aos mas tarde. Consista en agregar ms capas de
neuronas, pero el problema era encontrar los parmetros de estas capas, es decir, los pesos
sinpticos. Este problema llev a la debacle en el estudio de las Redes Neuronales. Aos
ms tarde renacera el inters debido a la creacin de un nuevo algoritmo de aprendizaje, el
cual era capaz de calcular los pesos sinpticos para un perceptrn multicapa. El nombre de
este algoritmo es Retropropagacin de errores o Backpropagation (BP).

El esquema de una red MLP se puede ver a continuacin:


Figura N 1.7: Estructura de las Redes MLP y su Funcin de Activacin

El modelo matemtico que describe el comportamiento de una red MLP con una capa
oculta y neuronas de salida lineales es el siguiente:



(1.12)
23

Donde son las entradas a la red, las salidas de la capa oculta, la salida de la capa
final (y global de la red), son los pesos de la capa oculta, son los umbrales de la capa
oculta, son los pesos de la capa de salida y sus umbrales. La funcin f() es de tipo
sigmoideo.

Esta es la arquitectura tpica de una red MLP, aunque no es la nica. Tambin existen otras
arquitecturas, como incluir neuronas no lineales en la capa de salida.

Aprendizaje por Retropropagacin de errores (BP): Si se supone que tenemos una red
MLP de tres capas, con las entradas, salidas, pesos y umbrales de las neuronas definidas
anteriormente, como se muestra en la siguiente figura:


Figura N 1.8: Arquitectura del MLP

Sea un patrn de entrada con , la operacin global de esta red se expresa de
la siguiente manera:



(1.13)
24

Las funciones de activacin de las neuronas pertenecientes a la capa oculta corresponden,
como se dijo anteriormente, a funciones de tipo sigmoideo.
Bsicamente en el algoritmo BP se plantea una funcin de error, la cual corresponde al
valor deseado y la salida actual de la red. Esta funcin de costo se derivar en funcin de
los pesos de la capa oculta y de la capa de salida por separado, obteniendo de esta manera
dos gradientes los cuales se busca minimizar. La funcin de error es la siguiente:



Como se dijo anteriormente la minimizacin se lleva a cabo por medio del descenso del
gradiente, pero esta vez habr un gradiente respecto a los pesos de la capa de salida y otro
respecto a los pesos de la capa oculta. Estos gradientes son:



Si derivamos las expresiones anteriores, a travs de la regla de la cadena y teniendo en
cuenta las dependencias funcionales, obtendremos las siguientes ecuaciones de
actualizacin para los pesos:





De las expresiones anteriores se deduce por qu este algoritmo es llamado
Retropropagacin o propagacin hacia atrs. En primer lugar se calcula el trmino , el
(1.14)
(1.15)
(1.16)
(1.17)
25

cual corresponde a la seal de error, esto debido a que esta expresin es proporcional al
error en la salida. Luego se calcula la actualizacin de los pesos de la capa de salida .
A continuacin se propagan hacia atrs los errores a travs de la sinapsis,
obteniendo de esta manera la seal de error . Finalmente se puede calcular el valor de
actualizacin para los pesos de la capa oculta .
Este algoritmo se puede extender para cualquier nmero de capas ocultas siguiendo los
siguientes pasos:

1) Asignar valores aleatorios a los pesos y umbrales iniciales de toda la red ( ).

2) Para cada patrn que utilizaremos para el entrenamiento:

2.1) Obtener la respuesta de la red ante el patrn u-simo.

2.2) Calcular las seales de error asociadas, y .

2.3) Calcular el incremento parcial de los pesos y umbrales debido a cada patrn (Los
elementos sumatorios).

3) Calcular el valor de las actualizaciones (para todos los patrones) de los pesos y
, y tambin para los umbrales.

4) Actualizar pesos y umbrales.

5) Calcular el error actual, , y volver a 2) si todava el error no es satisfactorio.

Se debe comenzar con pesos iniciales aleatorios (normalmente valores pequeos, positivos
y negativos), debido a que si se asignan valores iniciales nulos de pesos y umbrales, el
26

aprendizaje no progresar. Esto ltimo debido a que las salidas de las neuronas y el
incremento de los pesos sern siempre nulos.

1 . 7 . 3 Funciones de Base Radial (RBF)

Este tipo de RNA si bien es de reciente introduccin, cuenta con un gran nmero de
aplicaciones prcticas. Esto ltimo debido a su simplicidad y rapidez de aprendizaje. Es de
arquitectura unidireccional y de aprendizaje hbrido, pues consta de aprendizaje
supervisado y no supervisado.
Las RBF permiten modelar sin mayores problemas sistemas no lineales arbitrarios, con un
tiempo de entrenamiento relativamente bajo.
La arquitectura de las redes RBF consta de 3 capas de neuronas: una de entrada, otra oculta
y finalmente una de salida. Como es habitual en las mayoras de las RNA, la capa de
entrada solo enva la informacin del exterior hacia la capa oculta. La capa de salida calcula
la suma ponderada de las salidas de la capa oculta. Las capas ocultas operan en base a la
distancia que hay ente el vector de entradas y el vector sinptico que cada una almacena
(llamado centroide), a la cual se le aplica una funcin radial con forma gaussiana. La
arquitectura de las redes RBF se puede ver en la siguiente figura:


Figura N 1.9: Arquitectura de las RBF y sus Funciones de Activacin
27


De esto ltimo se puede concluir que las neuronas del RBF son de respuesta localizada,
esto debido a que su respuesta es significativa cuando el vector de entradas y el centroide
de la neurona pertenecen a una zona prxima al espacio de entradas.
Si son las entradas a la red, son las salidas de la capa oculta y la salida de la capa
final, y por lo tanto la salida global de la red. Adems, si cada neurona almacena al
centroide, el cual denominaremos por , el modelo matemtico de esta red es el siguiente:



Donde es la distancia eucldea que separa el vector de entradas de su centroide. Esto
ltimo se aplica en la capa oculta. Luego de calcular la distancia eucldea se procede a
calcular la salida de la red, en funcin de dicha distancia. Esto se realiza con una funcin
radial , dentro de las cuales la ms utilizada es la funcin Gaussiana. Ocupando esta
funcin la salida de la red se calcula de la siguiente manera:


Donde corresponde a la anchura de la funcin gaussiana, es decir, el radio de influencia
de la neurona en el espacio de entradas. Mientras ms grande es el valor de , el dominio
de la neurona en torno al centroide es mayor. Esto se puede apreciar en la siguiente figura:


Figura N 1.10: Respuesta Localizada de las Neuronas Ocultas de las RBF
(1.18)
(1.19)
28


Finalmente, si se juntan las 2 ecuaciones anteriores, se llega a una expresin que deja a la
salida de la capa oculta en funcin de la entrada a la red, esta es:



De la ecuacin 1.20 se puede ver que si el vector de entradas es igual al centroide de la
neurona j, la salida es mxima, es decir, corresponde a la unidad. Tambin con esta ltima
ecuacin se puede entender mejor el funcionamiento de las redes RBF. Cuando un vector
de entradas sea prximo al valor del centroide que almacena la neurona, esta se activar
indicando que reconoce a ese patrn. De forma contraria, si el vector de entrada es distinto
al valor del centroide de la neurona, el valor de de la salida de esta tender a cero y la
neurona no se activar, indicando que el patrn no ha sido reconocido por esa neurona.

Como se puede ver en la figura 1.9, la salida de la capa oculta es la entrada de la capa de
salida. Por lo que finalmente la salida global de la red es:



Donde es el peso que conecta la neurona oculta con la de salida , y , al igual que
en el perceptrn, corresponde al umbral o bias.

Cada neurona de la capa oculta se ocupa de una zona del espacio de entradas, y este
conjunto de zonas (todas las zonas de todas las neuronas ocultas) debe cubrir toda el rea de
inters. Este cubrimiento debe tratar de realizarse de la manera ms suave posible, lo cual
se logra con el nmero de nodos en la capa oculta y con la anchura de .

En la siguiente figura se muestra como los nodos gaussianos cubren las zonas de inters en
el espacio de trabajo:
(1.20)
(1.21)
29


Figura N 1.11: Cuatro nodos gaussianos cubriendo el rea de trabajo

Aprendizaje de las RBF: Uno de los principales problemas a resolver en este tipo de red
es el nmero de nodos ocultos a utilizar para cubrir toda la zona de trabajo. Una de las
formas de resolver esto es comenzar con un determinado y reducido nmero de nodos
gaussianos, luego probar con algn patrn si es que este activa o no alguna de las neuronas.
De no ser as deber aumentarse el nmero de nodos gaussianos, de manera que se cubra el
rea en donde cae el patrn no cubierto anteriormente. Un procedimiento como este se
describe en el modelo denominado Algoritmo Autoorganizado Jerrquico.
Luego de determinar el nmero de nodos gaussianos a utilizar, se deben determinar los
parmetros de la arquitectura. Esto se realizar con un aprendizaje por etapas, debido a que
en la primera etapa se realizar un entrenamiento de las neuronas de la capa oculta, para
luego en una segunda etapa proceder al entrenamiento de las neuronas de salida.

Como primera parte en el entrenamiento de la capa oculta se debe calcular el valor de las
centroides a utilizar. Para esto se puede utilizar el algoritmo de las k-medias o cualquier
otro algoritmo no supervisado para agrupamiento (clustering). El algoritmo de las k-medias
lleva ese nombre debido a que k hace referencia al nmero de agrupaciones que se desea
encontrar, que para este tipo de red ser el nmero de nodos gaussianos a utilizar.

Para utilizar este algoritmo lo primero que se debe hacer es proponer un valor de k que se
estime conveniente. Los siguientes pasos son:
30

1) Se eligen valores estimados para los k centroides . Normalmente suelen dejarse como
valores iniciales para los centroides los primero k valores de los patrones de aprendizaje. Es
importante indicar que el valor elegido para los centroides no es relevante para el resultado
final.

2) Para cada iteracin t se reparten cada uno de los patrones x entre cada una de las k
neuronas gaussianas. Cada patrn ser asociado a la neurona en donde la distancia eucldea
entre el centroide de la neurona y el valor del patrn sea mnimo, es decir de donde diste
menos.

3) Luego de que se asocian los patrones a cada neurona gaussiana, se calcula el nuevo
valor del centroide como el promedio de los patrones asociados en el paso 2. De esta
manera, si es el nmero de patrones asociados a la neurona en el reparto, se tiene:



4) Si el valor de los nuevos centroides calculados en 3 es idntico a los centroides
calculados en la iteracin anterior, el algoritmo ha convergido. De no ser as, volver a 2.

Luego de calcular el valor de los centroides se procede al clculo de los parmetros de
escala de cada neurona, el cual se realiza por medio de criterios heursticos. Una forma
muy comn de realizar esto es calcular aproximadamente el radio de influencia en el
espacio de entradas de cada neurona gaussiana con respecto a las otras, para lo cual suele
hacerse lo siguiente: si se quiere calcular el de la neurona se deben tomar los N valores
de las centroides calculadas para cada neurona gaussiana y determinar el promedio de las
distancias cuadrticas que tiene cada neurona con la neurona j, es decir:

(1.22)
(1.23)
31

Una buena aproximacin seria tomar N=1, es decir, tomar los nodos gaussianos ms
cercanos. Esto es rpido y sencillo de calcular, sin afectar mucho el resultado final.
Otra forma de calcular consiste en el clculo de la distancia de diversos patrones
representativos al centroide, es decir:


Donde corresponde al nmero de patrones que se utilizaran para determinar . Luego de
calcular los factores de escala se termina el entrenamiento de la capa oculta.
La segunda etapa del aprendizaje de las redes RBF consiste en el entrenamiento de las
neuronas de la salida. Para esto ya conocemos los valores de los factores de escala y de los
centroides de cada neurona gaussiana, debido a que se calcul en la etapa previa. Por lo que
en esta etapa se calcularn los pesos y los umbrales , lo cual se realiza aplicando el
Algoritmo LMS (mnimos cuadrados) a la expresin que resulta en la capa final. Esta
expresin es:

Y quedar de la forma:


Donde son los valores deseados en la salida (target) y corresponde al ritmo de
aprendizaje. Este ultimo indica el paso que se va dando en cada iteracin, el cual
idealmente debe ser de valor infinitesimal. Lo importante de este valor es que nos da el
ritmo del entrenamiento, es decir, un valor pequeo de llevar a un proceso de
aprendizaje extremadamente lento, mientras que un valor muy grande de podra conducir
a oscilaciones.
Al tratarse de un entrenamiento de 2 etapas se consigue un rpido entrenamiento, el cual si
se compara con el BP del MLP es 3 veces ms rpido. Tambin se concluye que esta red
se encasilla dentro de las redes hibridas debido a que consta de 2 tipos distintos de
(1.24)
(1.25)
(1.26)
32

aprendizaje. En una primera etapa se utiliza el algoritmo de las k-medias para determinar
los parmetros de la capa oculta (centroide y factor de escala), el cual corresponde a un tipo
de algoritmo No Supervisado. Como segunda parte se utiliza un algoritmo LMS para
calcular el valor de los pesos en la capa de salida, siendo este un algoritmo de tipo
supervisado.


1 . 8 . APLICACIN DE LAS REDES NEURONALES
La crisis Bancaria Espaola 1977-1985

Esta crisis afecto a 58 de los 108 bancos espaoles de la poca, por lo que esta crisis se
compara con la generada en Estados Unidos en el ao 1929. Este problema lo estudio el
Departamento de Contabilidad y Finanzas de la Universidad de Zaragoza, quienes
implementaron una red neuronal para poder analizar el problema.
La idea era determinar el estado de un banco, el cual poda ser solvente o critico, en funcin
de sus ratios econmicos. Estos ratios se obtuvieron de un estudio, en el cual se concluyo
que de todos los ratios existentes solo 9 resultan ser los ms importantes a la hora de
determinar una situacin en crisis. La solucin consista en crear una red neuronal que fuera
capaz de decir si el banco era solvente o critico en funcin de los 9 ratios econmicos de
cada banco. Para esto se utiliz una red perceptrn multicapa (MLP) entrenada con
Backpropagation (BP). Las entradas a esta red serian los 9 ratios econmicos, mientras que
el estado de la salida definira el estado del banco (1 si es un banco solvente, o 0 si es
crtico). Por lo que se necesitaran 9 neuronas en la capa de entrada y una neurona en la
capa de salida. Solo restara determinar el nmero de neuronas en la capa oculta. En la
Tabla 1.1 se muestran los 9 ratios econmicos utilizados.




33

R1 Activo circulante/Activo total
R2 (Activo circulante-Caja)/Activo total
R3 Activo circulante/Deudas
R4 Reservas/Deudas
R5 Beneficio neto/Activo total
R6 Beneficio neto/Fondos propios
R7 Beneficio neto/Deudas
R8 Coste de ventas/Ventas
R9 Cash Flow/Deudas
Tabla N 1.1: Ratios Econmicos utilizados para el Estudio de la Crisis Bancaria
Espaola
Se dispona de una base de datos, la cual tena la informacin de 66 bancos que
funcionaban en esa poca, de los cuales 29 quebraron. De estos datos se utilizo la mitad
para entrenar la red y la otra mitad para probar el desempeo de esta.

En la siguiente figura se muestran los 66 bancos utilizados, donde los primeros 29 entraron
en crisis, mientras que los bancos del 60 al 66 eran conocidos como los siete grandes de la
poca:

Figura N 1.12: Relacin de Bancos empleados en el Estudio

34

Luego de varias pruebas se determin que un nmero de neuronas ocultas entre 4 y 9 daban
buenos y similares resultados, por lo que se decidi realizar la red con 6 neuronas en la
capa oculta.

La configuracin que se utilizo para cada banco es la siguiente:


Figura N 1.13: Arquitectura utilizada para la determinacin de la Crisis Bancaria
Espaola

Con una configuracin 9-6-1 se tienen 67 parmetros a calcular (entre pesos y umbrales). Si
se aplica la regla descrita por Baum en el ao 89, la cual indica que para una red de n
entradas y h neuronas ocultas se necesitan la siguiente cantidad p de patrones:



Donde corresponde al error que se desea cometer. As, si tomamos la ecuacin
anterior queda de la siguiente forma:



Esta ecuacin es la ms utilizada para determinar una aproximacin de patrones necesarios
para entrenar correctamente una red neuronal de w pesos.
(1.27)
(1.28)
35


Si se aplica la ecuacin anterior para determinar el nmero de patrones o ejemplos
necesarios para entrenar la red correctamente llegaremos a que necesitamos 670 ejemplos
de bancos, siendo que solo se contaba con 66. Esto ltimo hacia que la red incurriera en
sobreaprendizaje, lo cual bsicamente consiste en que al entrenar la red con pocos datos
aprender demasiado sobre estos datos, por lo que cuando se enfrente a datos con los que
no fue entrenada la respuesta no ser la optima.
Para solucionar este problema el aprendizaje o entrenamiento de esta red se realiz a travs
de validacin cruzada. Esto consista en entrenar la red con estos 66 patrones hasta cierto
punto, para poder evitar el sobreaprendizaje.

El entrenamiento se realiz a travs de BP y se ejecut en un computador con procesador
i80486, tardndose aproximadamente 30 minutos el entrenamiento.

Los resultados obtenidos demostraban que la arquitectura propuesta era capaz de
determinar correctamente las situaciones de quiebre/solvencia el 94% de las ocasiones. Esto
era superior al 85% obtenido por las herramientas estadsticas, pero estas ltimas incluan
en sus clculos los mismos patrones utilizados en el desarrollo del modelo; si se hiciera esto
mismo con la red neuronal se obtendra un 100% de acierto.

Finalmente para saber el estado de un banco solo bastara con enviar a las entradas de la red
los 9 ratios del banco. A la salida tendremos un valor que nos indicara el estado del banco.
Mientras ms cercano este el valor de salida del 1 indicar que el banco es solvente, de caso
contrario indicara que el banco est cerca de la quiebra.




36

Captulo 2: Lgica Difusa
2 . 1 . INTRODUCCIN

En el captulo anterior se present la teora sobre las Redes Neuronales Artificiales (RNA),
las cuales, de cierta forma, emulan simplificadamente la estructura del cerebro para
reproducir sus capacidades y cualidades. Ahora explicaremos la teora de la Lgica Difusa,
la cual trata de emular la manera en la que el cerebro humano razona o piensa.

Figura N 2.1: Diferencia entre Precisin y Significancia

El ser humano, en su quehacer diario, utiliza frases como lejos, puede ser, quizs,
tal vez, las cuales no entregan mucha Precisin pero si nos proporciona Significancia.
Esta forma de razonar es distinta a la lgica Bivaluada propuesta por Aristteles (350
A.C.), en la cual una proposicin poda o no poda ser verdadera, sin dar lugar a una tercera
opcin como podra ser (Principio del tercero excluido).

La denominada Lgica Difusa permite tratar informacin imprecisa (como el puede ser),
logrando de esta forma una mejor representacin de cmo piensa el humano. En este
37

captulo se presentar que el tratamiento impreciso se logra a travs de Conjuntos Difusos,
los cuales se combinan con otros conjuntos difusos a travs de Reglas para producir una o
varias salidas.

2 . 2 . HISTORIA DE LA LGICA DIFUSA

Los primeros estudios formales sobre lgica difusa fueron hechos por Lotfi A. Zadeh, quien
en el ao 1965 propuso esta teora para representar informacin y datos imprecisos. Si bien
este fue el primer estudio formal sobre este tema, las bases sobre la lgica difusa surgieron
aos atrs.

Aristteles, alrededor del ao 350 A.C., propuso las Leyes del Pensamiento, las cuales
fueron las bases para el desarrollo de la lgica y de las matemticas. La ley del tercero
excluido, propuesta por Aristteles, propona que cualquier proposicin solo poda ser
verdadera o falsa sin dar lugar a otra posibilidad que estuviese al medio de estas 2. En los
aos 300 A. C. surgieron las primeras objeciones a este tipo de pensamiento, las cuales
fueron realizadas por Parmnides. Aos ms tarde Herclito propuso cosas que podan ser
Verdaderas y Falsas al mismo tiempo. Pero sera Platn quien dara los primeros indicios
de una nueva lgica al afirmar hay una tercera regin entre lo verdadero y lo falso donde
los opuestos se presentan juntos.

Siglos ms tarde, en el XVIII, el filsofo David Hume fue el primero en hablar sobre una
Lgica de Sentido Comn.

La primera propuesta formal que objetaba la que haba propuesto Aristteles fue hecha por
J. Lukasiewicz entre los aos 1917 y 1920. Esta era una lgica Trivaluada, debido a que
permita tres estados, los cuales eran Verdadero, Falso y Posible, con valores 1, 0 y un valor
entre 0 y 1 respectivamente. Esta propuesta estaba apoyada por un desarrollo matemtico y
axiomtico, en el cual Lukasiewicz esperaba construir una Matemtica Moderna. Aos
ms tarde Lukasiewicz fue ms all, formulando las bases para una Lgica
38

Polivalorizada, en la cual deca que no haba impedimento para una lgica con infinitos
valores.

Pero no sera hasta mediados de los aos 60, cuando el sovitico Lotfi A. Zadeh hizo por
primera vez una presentacin sobre Conjuntos Difusos. Zadeh tom las postulaciones
realizadas por Lukasiewicz, debido a que en su teora considera un nmero infinito de
grados de valor entre cierto y falso. La Lgica Difusa define grados de relacin y grados de
verdad de algo, algunas cosas pueden ser parcialmente verdaderas y parcialmente falsas
simultneamente. De esto ltimo se puede concluir que la lgica Bivaluada o la lgica de
Boole, es solo un caso especial o particular de la lgica Difusa.

La Lgica Difusa pas de ser una teora a una realidad cuando en 1974 Ebrahim Mamdani
junto con S. Asilian demuestran la aplicabilidad de la lgica difusa al control de procesos,
abriendo un rea de aplicaciones de tremendas proporciones.

Desde entonces la lgica difusa empez a ser utilizada y aplicada en distintos campos de la
Ingeniera con muy buenos resultados, alcanzando su mximo apogeo a principios de los
aos 90 y extendindose hasta la poca actual.

2 . 3 . CONJUNTO DIFUSOS Y NO DIFUSOS

En los conjuntos clsicos un elemento est incluido completamente en l o no lo est en
absoluto. Esta situacin puede describirse asignando un 1 a todos los elementos incluidos
en el conjunto y un 0 a los no incluidos. A la funcin que asigna estos valores la
denominaremos funcin de pertenencia, membresa o inclusin (memership function). A
diferencia de la teora de los conjuntos clsicos, los difusos permiten describir el grado de
pertenencia o inclusin de un objeto ( el valor de una variable) al concepto dado por la
etiqueta que le da nombre, asignando un nmero real entre 0 y 1 (as, por ejemplo, una
persona podr ser medio baja o muy alta).

39

A modo de ejemplo, para el conjunto Personas se puede definir subconjuntos difusos en
funcin de su edad. El subconjunto de los Adultos puede definirse asignando una funcin
de pertenencia abrupta para el conjunto clsico Adulto=edad entre 25 y 45, como puede
verse en la siguiente figura:


Figura N 2.2: Funciones de Inclusin de conjuntos a) Clsico b) Difuso

Definido en trminos difusos, la funcin de pertenencia de este conjunto toma valor 1 entre
30 y 40, 0 para los menores de 20 para los mayores de 50, y valores intermedios entre 20
y 30, y entre 40 y 50.

Por otro lado, se dice que un conjunto difuso est normalizado si el mximo de su funcin
de pertenencia es 1; obviamente, un conjunto difuso puede normalizarse multiplicando su
funcin de pertenencia por un coeficiente fijo.

2 . 4 . TIPOS DE FUNCIONES DE PERTENENCIA

Una funcin de pertenencia ( ) u
F
indica el grado en que el valor u de la variable U est
incluido en el concepto relacionado por la etiqueta F . En contraste con la lgica
tradicional que utiliza conceptos absolutos para referirse a la realidad, la lgica difusa
define en grados variables de pertenencia a los mismos, siguiendo patrones de
razonamiento similares a los del pensamiento humano. Las funciones ms utilizadas se
describen a continuacin.
40

2 . 4 . 1 La funcin de tipo trapezoidal

Se define por cuatro puntos d c b a , , , . Se utiliza habitualmente en sistemas difusos sencillos,
pues permite definir un conjunto difuso con pocos datos, y calcular su valor de pertenencia
fcilmente. Se emplea especialmente en sistemas basados en microprocesador, pues con
similar formato pueden codificarse funciones de tipo S , tipo , triangular y Singleton,
segn se distribuyan los puntos a, b, c y d (por ejemplo, juntando b y c tenemos una
triangular). Una funcin de pertenencia tipo trapezoidal se puede ver en la siguiente figura:


Figura N 2.3: Funcin tipo Trapezoidal

La funcin que describe el comportamiento de esta regla de pertenencia se define como se
muestra en la siguiente ecuacin:

Esta funcin resulta adecuada para modelar propiedades que comprenden un rango de
valores (adulto, normal, adecuada). Para modelar una funcin triangular se hace c b = ,
( )

>
s s |
.
|

\
|

s s
s s |
.
|

\
|

<
=
d u
d u c
c d
u d
c u b
b u a
a b
a u
a u
d c b a u S
0
1
0
, , , ;
(2.1)
41

para una funcin tipo S (no suave) se hace ) max(U d c = = , y para una funcin de tipo
Singleton d c b a = = = .

2 . 4 . 2 La funcin de tipo Singleton


Figura N 2.4: Funcin tipo Singleton

Tiene valor 1 solo para un punto a , y 0 para el resto. Se utiliza habitualmente en sistemas
difusos simples para definir los conjuntos difusos de las particiones de las variables de
salida, pues permite simplificar los clculos y requiere menos memoria para almacenar la
base de reglas. La funcin se define como se muestra a continuacin:

( )

=
=
=
a u
a u
a u S
0
1
;








(2.2)
42

2 . 4 . 3 La funcin de tipo T (triangular)


Figura N 2.5: Funcin tipo T (triangular)

Es adecuada para modelar propiedades con un valor de pertenencia distinto de cero para un
rango de valores estrecho en torno a un punto b . Se define como se muestra a
continuacin:

( )

>
s s |
.
|

\
|

s s
|
.
|

\
|

<
=
c u
c u b
b c
a c
b u a
a b
a u
a u
c b a u T
0
0
, , ;

2 . 4 . 4 La funcin de tipo S

Se caracteriza por tener un valor de pertenencia distinto de 0 para un rango de valores por
encima de cierto punto a , siendo 0 por debajo de a y 1 para valores mayores de c . Su
punto de cruce es |
.
|

\
| +
=
2
c a
b ; y entre los puntos a y c es de tipo cuadrtico (suave), esto
se puede observar en la figura 2.6.

(2.3)
43


Figura N 2.6: Funcin tipo S

Su ecuacin asociada se muestra en la siguiente ecuacin:

( )

>
s s
|
.
|

\
|

s s
|
.
|

\
|

<
=
c u
c u b
a c
a u
b u a
a c
a u
a u
c b a u S
1
2 1
2
0
, , ;
2
2


2 . 4 . 5 La funcin tipo


Figura N 2.7: Funcin Tipo (con forma de campana o Gaussiana)

(2.4)
44

Tiene forma de campana y resulta adecuada para los conjuntos definidos en torno a un
valor c , como medio, normal, cero, etc. Puede definirse tambin utilizando expresiones
analticas exponenciales o cuadrticas, como la conocida campana de Gauss.

Una forma de definir matemticamente esta funcin es como se muestra a continuacin:

( )
( )

>
s
c u c b c b c u S
c u c b c b c u S
c b u
, 2 , ; 1
) , 2 , ; (
, ;


2 . 5 . OPERACIONES ENTRE CONJUNTOS DIFUSOS

A los subconjuntos difusos se les puede aplicar determinados operadores, o bien pueden
realizarse operaciones entre ellos. Al aplicar un operador sobre un solo conjunto difuso se
obtiene otro conjunto difuso; de la misma manera al combinar dos o ms subconjuntos
mediante alguna operacin se obtendr otro conjunto.

Sean los subconjuntos identificados por las etiquetas A y B, como se muestra a
continuacin:


Figura N 2.8: Conjunto Difuso A

(2.5)
45


Figura N 2.9: Conjunto Difuso B

Donde A es un Subconjunto con funcin de pertenencia Trapezoidal y B con funcin
Triangular.

En la tabla 2.1 se pueden observar las operaciones difusas realizables.

Operacin Rango
Igualdad ( ) ( ) x x
B A
=

U x e

Unin ( ) ( ) ( ) | | x x x
B A B A
, max =


U x e

Interseccin ( ) ( ) ( ) | | x x x
B A B A
, min =


U x e

Complemento ( ) ( ) x x
A A
=1

U x e

Norma
( )
( )
( )
( ) | | x
x
x
A
A
A Norma

max
=

U x e

Concentracin
( )
( ) ( ) ( )
2
x x
A A Conc
=

U x e

Dilatacin
( )
( ) ( ) ( )
2 / 1
x x
A A Dilat
=

U x e

Tabla N 2.1: Operaciones entre conjuntos difusos

De estas, las operaciones Complemento, Unin e Interseccin son las operaciones bsicas,
coincidiendo con el de las correspondientes a las de la teora clsica de conjuntos.

46

En las siguientes figuras se pueden apreciar grficamente como actan las operaciones ms
comunes (Complemento, Unin e Interseccin), en funcin de los 2 conjuntos difusos
mostrados anteriormente, donde lo marcado en rojo es el resultado:


Figura N 2.10: Operacin Difusa Unin entre Conjunto difuso A y B


Figura N 2.11: Operacin Difusa Interseccin entre Conjunto difuso A y B


Figura N 2.12: Operacin Difusa Complemento entre Conjunto difuso A y B
47

2 . 6 . REGLAS DIFUSAS

Las reglas difusas son del tipo IF-THEN (Si- Entonces), y combinan uno o ms conjuntos
borrosos de entrada, llamados Antecedentes o premisas, y les asocian un conjunto borroso
de salida, llamado Consecuente o consecuencia. Por ejemplo una regla de tipo IF-THEN,
para un sistema de control sera:

Si error es positivo_pequeo Y derivada_error es negativo_pequeo Entonces accin es
positiva_pequea.

Que suele expresar abreviadamente mediante expresiones del tipo Si e es pp Y de es np,
Entonces u es pp.

Las reglas difusas permiten expresar el conocimiento que se dispone sobre la relacin entre
antecedentes y consecuentes. Para expresar este conocimiento de forma completa
normalmente se precisa de varias reglas, que se agrupan formando lo que se conoce como
una Base de Reglas, es decir, conjunto de reglas que expresan las relaciones conocidas
entre antecedentes y consecuentes.

Las reglas pueden ser representadas por medio de tablas o por medio de de una memoria
asociativa difusa FAM (Fuzzy Associative Memory). Estas son matrices las cuales
representan la consecuencia de cada regla para cada combinacin de 2 entradas. Tambin
permiten tener una representacin grafica de las relaciones entre 2 variables lingsticas.

Formalmente, una base de reglas difusas es una coleccin de reglas con el formato:



Donde y son conjuntos difusos y , y e
son variables lingsticas. Este formato es conocido como difuso puro o de tipo
(2.6)
48

Mamdani, debido a que fue el que las propuso en el ao 1974. Otro tipo distinto de
representacin para las reglas es el de tipo Sugeno. En este caso la salida es una
combinacin lineal de las entradas, como se muestra a continuacin:



En las ecuaciones anteriores, suponiendo que hay M reglas, el valor de estar entre
, el vector x representa las entradas y el vector y es la salida.

2 . 7 . CONTROL DIFUSO

La aplicacin ms utilizada de la lgica difusa hoy en da son los sistemas expertos de
control difuso basado en reglas, conocidos como Controladores Difusos o FLC (Fuzzy
Logic Controllers), o tambin, Sistemas de Inferencia Difusa o FIS (Fuzzy Inference
Systems).
En la figura 2.13 se puede observar la estructura de un controlador difuso. Para controlar un
proceso se hace uso de un mdulo controlador que recibe como entrada una o varias
variables seteadas manual o automticamente llamadas Referencias ( R ), y una o varias
variables de salida del propio proceso (S ) las cuales son realimentadas al controlador,
produciendo una o varias seales de control (U ). Normalmente el objetivo es hacer S R = .
Un ejemplo de este caso puede ser la calefaccin domstica; el controlador recibe una
consigna de temperatura que fija el usuario y mide la temperatura de la habitacin por
medio de un sensor. En funcin de estas dos variables de entrada, el controlador conecta o
desconecta el sistema de calentamiento.

Como se observa en la figura 2.13, las variables de entrada son preprocesadas en un primer
bloque que proporciona un vector de entradas al controlador difuso (FLC), en donde un
primer elemento llamado Fusificador realiza la conversin de valores discretos a trminos
difusos. Su salida es utilizada por el Dispositivo de Inferencia Difusa para aplicarla a cada
(2.7)
49

una de las reglas de la base. Finalmente, el Desfusificador transformar estos conjuntos
difusos en un valor no difuso.


Figura N 2.13: Estructura de un controlador Difuso

Algunas caractersticas del control difuso es que este es lgico. Esto debido a que el
algoritmo de control utiliza expresiones del tipo IF-THEN, con las cuales se pueden
mencionar muchas condiciones, combinando expresiones con IF y AND. Tambin es un
control de tipo lingstico, debido a que permite el uso de variables lingsticas imprecisas.
Esto ltimo hace que este tipo de control sea muy fcil de entender y, adems, permite que
los operadores del proceso que se desea controlar jueguen un papel fundamental, ya que su
experiencia permitir realizar una correcta base de reglas.




2 . 8 . TIPOS DE CONTROLADORES DIFUSOS
50


Como se mencion anteriormente, un controlador difuso es bsicamente una estructura
basada en el conocimiento, reflejado en una base de reglas, donde se trata de cuantificar la
experiencia del operador de cmo funciona el proceso, a travs de variables lingsticas.
Dependiendo de la arquitectura con la que se trabaje, se encuentran 2 tipos de controladores
difusos:

Sistema de control difuso de Takagi-Sugeno: Sus entradas y salidas son variables con
valores reales.
Sistema de control difuso de Mamdani: Interpone un Desfusificador en la salida.

Un controlador tipo Takagi-Sugeno tiene como consecuente una o varias funciones que
dependen directamente de las seales que se estn leyendo del sistema o de las variables de
estado. Un controlador tipo de Mamdani tiene como consecuente un valor de terminado con
anterioridad y no una funcin.

En esta tesis se utiliz el software de Siemens FuzzyControl++, el cual utiliza un sistema
tipo Mamdani, por lo que el estudio se centra en este tipo de controlador difuso.










2 . 9 . CONTROLADORES DIFUSOS TIPO MAMDANI

51

Como se dijo anteriormente, un controlador difuso tipo Mamdani tiene un Fusificador en la
entrada, y un Desfusificador en la salida. Esto para transformar seales de entrada no
difusas en difusas. A continuacin se puede apreciar el principio de funcionamiento de un
controlador tipo Mamdani:


Figura N 2.14: Configuracin Bsica de un Controlador tipo Mamdani


2 . 9 . 1 Fusificador

El primer bloque de Fusificacin se encarga de convertir variables no difusas en difusas.
Para esto agrega grados de satisfaccin para los valores lingsticos de las variables
lingsticas.
Se pueden utilizar diversas estrategias de Fusificacin:

- Fusificador Singleton: Es el mtodo de Fusificacin ms utilizado. Consiste en
considerar los propios valores discretos como conjuntos difusos. De otra forma,
para cada valor de entrada x se define un conjunto A que lo soporta, con funcin
de pertenencia ( ) ' x
A
, de modo que ( ) 1 = x
A
, x x = ' , y ( ) 0 ' = x
A
. Para todos los
otros U x e ' en los que x x = ' .

- Fusificador no Singleton: Este mtodo de Fusificacin utiliza la siguiente funcin
exponencial:

( )
(
(

|
.
|

\
|
=
2
'
'
exp '

x x
a x
A

(2.8)
52


Funcin con forma de campana, centrada en el valor x de entrada, de anchura y
amplitud a .


2 . 9 . 2 Inferencia

El proceso de Inferencia consiste en determinar o inferir un estado B a partir de un estado
A. Partiendo de la verdad o falsedad posible del antecedente, o de alguno o algunos de
ellos, puede deducirse la verdad o falsedad de alguno o algunos de los consecuentes.
Para cada regla perteneciente a la base de reglas, el grado de satisfaccin del consecuente es
formado o depende del grado de satisfaccin del antecedente a partir de cierto mtodo. A
este proceso se le denomina Implicacin. Tambin, el grado de satisfaccin del consecuente
es equivalente al grado de satisfaccin de la regla, lo cual se conoce como Intensidad de la
Regla. Al juntar todas estas evaluaciones que se realizan a cada regla por separada, se
obtendr una funcin de pertenencia para la seal de salida, lo cual se conoce como
Composicin. Si el antecedente de la regla contiene una declaracin combinada del tipo
SI.Y, la operacin Y de la lgica difusa se ejecuta primero, mientras que el grado
de satisfaccin es usado en la evaluacin de la regla total. Todas estas declaraciones juntas
son a menudo llamadas Agregacin. La eleccin del operador de implicacin condiciona la
eleccin del operador de agregacin. En tabla 2.2 se puede apreciar el tipo de implicacin
con su respectiva agregacin.





Implicacin Agregacin
Zadeh Mx-Mn Y ( )
53

Mamdani Mn O ( )
Larsen Producto O ( )
Aritmtica Y ( )
Booleana Y ( )
Producto Obligado O ( )
Producto Drstico O ( )
Secuencia Estndar Y ( )
Gougen Y ( )
Gdelian Y ( )
Tabla N 2.2: Interpretacin de la Agregacin bajo varias Implicaciones

FuzzyControl++utiliza como operador de implicacin el Mnimo y como operador de
agregacin la Suma. Estos mtodos los adoptaron por ser los ms utilizados y ms
eficientes desde el punto de vista computacional.


2 . 9 . 3 Desfusificador

Bsicamente es el proceso inverso al Fusificador. El Desfusificador (defuzzifier
desborrisificafor) es la funcin que transforma un conjunto difuso en V , normalmente
salida de un dispositivo de inferencia difusa, en un valor no difuso V y e . Para esta tarea se
utilizan diversos mtodos:

- Desfusificador por mximo: Se define como:

( ) ( ) y y
B V y '
sup arg
e
=
Es decir, es el punto de
V
en que
( ) y
l
G

alcanza su valor mximo, donde


( ) y
B'


est definido segn la siguiente ecuacin:
(2.9)
54




Donde es la salida final de un dispositivo de inferencia difusa. B es un
conjunto difuso, el cual es la unin de M conjuntos difusos , con .

- Desfusificador por centro de rea (COA)

Este tipo de desfusificacin es de suma importancia debido a que es el que
FuzzyControl++utiliza. Este Desfusificador es muy fcil de implementar cuando las
funciones de pertenencia de las salidas son del tipo Singleton, debido a que el
clculo se torna ms simple, ocupando menos recurso computacional. La forma de
calcular la salida se muestra a continuacin:



Donde es el grado de activacin de la reglas y es el valor que toma el valor
del Singleton a la salida.
De esto ltimo se concluye que solo pueden tener funciones de pertenencia tipo
Singleton a la salida.

Existen otros tipos ms de Desfusificadores, pero los 2 anteriores son los ms ocupados
debido a su simpleza en el clculo.






(2.10)
(2.11)
55

2 . 1 0 . LGICA DIFUSA Y PROBABILIDAD

Un error habitual que se comete al momento de comenzar a estudiar la teora sobre la lgica
difusa es confundir la funcin de pertenencia de un conjunto borroso con una funcin de
densidad de probabilidad. Siempre debe tenerse en cuenta que la funcin de pertenencia de
un conjunto difuso indica hasta qu punto cierto valor de una magnitud puede ser incluido
en un conjunto borroso, mientras que por otro lado, la probabilidad indica la frecuencia con
lo que los diversos valores de una magnitud se presentan.

En forma de ejemplo. Se tiene una funcin de pertenencia que indica el grado en el que se
incluye cierta botella dentro del conjunto de las botellas vacas y en el de las botellas
llenas, mientras que la probabilidad indicar cuantas de las botellas encontradas se incluyen
en cada uno de los conjuntos mencionados anteriormente. Una probabilidad 0.33 de
botellas vacas indicar que de cada 100 botellas que se tomen, 33 estarn vacas, mientras
que una pertenencia de 0.33 al conjunto de botellas vacas indicar que la botella trae un
tercio de litro del lquido (suponiendo que se trata de una botella de litro).

El hecho de que se tienda a confundir estas 2 reas es debido a que muchas de las
expresiones matemticas de la lgica difusa son similares a las de la probabilidad, pero su
sentido es bastante diferente. Las funciones de pertenencia de un conjunto son fijadas
arbitrariamente por un observador, el cual se basa en su experiencia para darle significado a
las variables lingsticas que definen los conjuntos. Por otro lado, la probabilidad se
determina a partir de la observacin de ocurrencia de los valores de una magnitud.

2 . 1 1 . VENTAJAS Y DESVENTAJAS DEL CONTROL DIFUSO

Quizs una de las principales ventajas del control difuso es la capacidad de prescindir de un
modelo matemtico, el cual en la mayora de las ocasiones es muy difcil de obtener. Nos
permite considerar la planta (proceso a controlar) como una caja negra, en la cual la
experiencia del operador nos permitir crear una estrategia de control difusa basada en
56

reglas del tipo IF-THEN. El manejo de trminos lingsticos como a medias, bastante, casi
poco, mucho, algo, etc. permite plantear el problema en las mismas expresiones en las que
lo hara un experto humano, facilitando as el diseo y uso de sistemas difusos.
No contar con un modelo matemtico es a veces una desventaja, debido a que nos genera
incertidumbre.

Algunas de las ventajas de este tipo de controladores son las siguientes:

- Para una computadora le es fcil ejecutar las reglas del tipo IF-THEN.

- Al tratar de asimilar la lgica difusa a la manera en la que el ser humano piensa, es
muy fcil entender el comportamiento de un sistema basndose en la base de reglas.

- Evita el modelamiento matemtico, en el cual en la mayora de las veces se llegaba
a sistemas altamente no lineales, por lo que se deba simplificar este modelo, el cual
ya dejaba de ser representativo.

- El control difuso cubre un amplio rango de parmetros del sistema y puede afrontar
la mayora de las perturbaciones.

Mientras que en sus desventajas se encuentran:

- El diseo de un sistema de control difuso requiere experiencia debido a los muchos
grados de libertad.

- Aun no se formalizan las condiciones para que el control difuso sea robusto y
estable.


57

2 . 1 2 . APLICACIN DEL CONTROL DIFUSO

Control de Aceleracin de un Vehculo

El objetivo es controlar la aceleracin de un vehculo automticamente. Se tendr una meta
o destino y dependiendo de la distancia a la que se encuentre el vehculo de esta meta, el
auto deber acelerar o frenar para llegar de manera rpida a la meta.

Para cumplir los objetivos se decidi considerar como entradas la distancia entre el
automvil y la meta (variable lingstica Distancia). Sus valores lingsticos son:
pequea, media y larga.

Otra entrada seria la velocidad que llevase el automvil (variable lingstica Velocidad),
y sus valores lingsticos son: Lenta, Media y Rpida.
Mientras que la variable a controlar seria la aceleracin (variable lingstica Aceleracin)
y sus valores lingsticos: neg_larga, neg_peque, cero, pos_peque, pos_larga.

La base de reglas que se cre fue la siguiente:

R1: SI Distancia =pequea Y Velocidad =rpida, ENTONCES Aceleracin =neg_larga;
R2: SI Distancia =pequea Y Velocidad =media, ENTONCES Aceleracin =neg_peque;
R3: SI Distancia =mediana Y Velocidad =rpida, ENTONCES Aceleracin =neg_peque;
R4: SI Distancia =mediana Y Velocidad =media, ENTONCES Aceleracin =cero;
R5: SI Distancia =mediana Y Velocidad =lenta, ENTONCES Aceleracin =pos_peque;
R6: SI Distancia =larga Y Velocidad =media, ENTONCES Aceleracin =pos_peque;
R7: SI Distancia =larga Y Velocidad =lenta, ENTONCES Aceleracin =pos_larga;

Las funciones de pertenencia para los valores lingsticos de cada variable lingstica se
seleccionarn junto con sus rangos de influencia. Estos rangos se elegirn para que cada
conjunto difuso tenga un grado de pertenencia ms grande que cero.
58


El procedimiento de Inferencia y Fusificacin empleados son los ms comunes. Para la
inferencia se utiliza MIN-MAX, mientras que el tipo de Desfusificacin empleado es el del
centroide. Esto debido a que se minimizan los gastos computacionales.

Para explicar el proceso de inferencia en la base de reglas, se plantea un posible caso de
funcionamiento, en el cual la velocidad es de 65 [mph] y la distancia es de 51 [m]. En la
eleccin de las formas de las funciones de pertenencia, los grados de libertad disponibles
deben ser definidos en una manera significativa (en la forma de puntos intermedios de los
tringulos o trapecios). Por ejemplo, el conjunto difuso Medio de la seal de entrada
Distancia se refiere al rango de 30 a 120 m.

En las siguientes imgenes se pueden ver las funciones de pertenencias para las variables
Distancia y Velocidad y el punto de trabajo sealado anteriormente:


Figura N 2.15: Funcin de Pertenencia de la variable Distancia

59


Figura N 2.16: Funcin de Pertenencia de la variable Velocidad

Proceso de Fusificacin

Las declaraciones difusas sobre la distancia, la cual es 51[m], son 30% verdad para
Pequeo y 70% verdad para Mediana, mientras que para Larga no se cumple (debido
a que es 0% verdad). De la misma forma los grados de pertenencia para la variable
Velocidad son 20% de verdad para Rpida y 80% de verdad para la variable
Mediana, mientras que para la variable Lenta no se cumple (es 0% verdad). Todo esto
se puede ver en las figuras 2.15 y 2.16.

Proceso de Inferencia

Para ejemplificar este proceso trabajaremos con la regla 1 la cual es:

R1: SI Distancia =pequea Y Velocidad =rpida, ENTONCES Aceleracin =neg_larga;

En la parte del antecedente se aprecia que ambas condiciones son verdaderas, puesto que la
Distancia es pequea en un grado de 30% y la Velocidad es rpida en un 20%. Tomando en
60

cuenta que FuzzyControl para este caso utiliza la operacin difusa MINIMO para la
combinacin Y (implicacin), el valor del antecedente ser de 20%.
Como el antecedente es verdadero, el consecuente ser verdadero y ser neg_larga. El
ms simple mtodo de consecuencia hace la suposicin (apropiada) que una consecuencia
puede ser cumplida a un grado no ms grande que el antecedente. Porque si el antecedente
es 20% cumplido, esto puede deducir una aceleracin requerida del 20% neg_larga
(consecuencia).

Si se aplica el mismo concepto descrito anteriormente para todas las dems reglas
tendremos lo siguiente:

R2: SI Distancia =pequea Y Velocidad =media, ENTONCES Aceleracin =neg_peque;
se cumple con un 30% (o 0.3).

R3: SI Distancia =mediana Y Velocidad =rpida, ENTONCES Aceleracin =neg_peque;
se cumple con un 20% (o 0.2).

R4: SI Distancia =mediana Y Velocidad =media, ENTONCES Aceleracin =cero; se
cumple con un 70% (o 0.7).

Las reglas R5, R6 y R7 no se cumplen, debido a que el antecedente es 0% cumplido. Esto
debido a que al menos una de las condiciones en el antecedente no se cumple.
Por lo tanto la accin de control que se deba tomar para la aceleracin depender de las
primeras 4 reglas. Se Puede ver que la regla 2 y 3 hacen referencia al mismo conjunto
difuso neg_peque, pero se sabe que FuzzyControl++ utiliza como agregacin la
operacin suma, por lo que el valor de satisfaccin para el conjunto difuso neg_peque
ser de un 50% o -0.5 (el signo menos hace referencia a que se est frenando).

61

Un mtodo simple para obtener las salidas es considerar el grado de satisfaccin de cada
regla como Singleton, y luego calcular la salida total por el mtodo del centroide (Utilizado
por FuzzyControl++). De esta forma tendremos lo siguiente:


Figura N 2.17: Seal de Salida (Aceleracin)

La recomendacin obtenida para un valor de entrada no difuso de 51[m] de distancia y una
velocidad de 65 [mph] es obtenida a travs de la base de regla, la cual indica que No se
debe frenar completamente, pero tampoco frenar a la mitad. Esto ltimo no puede ser
enviado a un actuador para que frene o acelere, por lo que se debe desfusificar este valor.

Proceso de Desfusificacin

Como se dijo anteriormente, de la recomendacin hecha por el controlador (la cual es
difusa) se debe obtener un valor numrico para poder envirselo al actuador.
El mtodo de desfusificacin que utiliza FuzzyControl++es el del centroide (considerando
las salidas como Singleton). En este se imagina un sistema mecnico en el cual las tres
62

columnas, para valores de aceleracin cuyo peso es una funcin de su altura, son
balanceadas sobre un pivote a lo largo del eje (equilibrio).
Por lo que aplicando la ecuacin 2.11 nos quedara lo siguiente:



Por lo que se puede concluir que se debe frenar (signo negativo) a un 32% del rango total
de frenado.

2 . 1 3 . CONTROLADORES DIFUSOS TIPO TAKAGI-SUGENO

Hasta ahora se ha mencionado solo de controladores tipo Mamdani, debido a que es el ms
utilizado. Pero otra configuracin, introducida por Takagi y Sugeno, ha ido tomando mayor
protagonismo por el poco costo computacional que lleva implementarlo. Es similar al
mtodo de Mamdani en muchos aspectos, ya que el proceso de Fusificacin y de Inferencia
son prcticamente iguales. La principal diferencia est en que la salida del sistema Sugeno
es una funcin que depende de las entradas. Esta funcin puede ser de primer orden o una
constante (existen versiones de mayor orden pero exigen mayor coste computacional, por lo
que no se implementa mucho).

Una regla Difusa de tipo Sugeno es comnmente de este tipo:



Esta es una regla de orden 1, o lineal. Para tener una regla de orden 0 solo basta con hacer
. Se puede notar que al tener una regla tipo Sugeno de orden 0, se tendr una
regla tipo Mamdani.

Las reglas de tipo Sugeno operan como se muestra en la figura 2.18.
63



Figura N 2.18: Operacin de las reglas tipo Sugeno

De la figura anterior se puede notar que el nivel de salida depende directamente de las
entradas x e y. Estas entradas tambin se fusifican a travs de las funciones de pertenencia
(FP) de cada entrada, para de esta forma calcular el peso de la regla o fuerza de disparo.
Esto ltimo se aplica para todas las reglas, por lo que tendremos distinto niveles de salida.
Finalmente el valor difuso obtenido se desfusifica de la siguiente forma:









(2.12)
64

Captulo 3: SISTEMAS NEURO-DIFUSOS
3 . 1 . Princi pi o de l os Sistemas Neuro-Difusos

Los captulos anteriores muestran que los problemas relacionados con las Redes
Neuronales y la Lgica Difusa son fundamentalmente diferentes. De manera resumida se
puede decir que:

- La Lgica Difusa imita y automatiza el comportamiento humano y provee
Soluciones Entendibles.

- Con la Redes Neuronales se pueden generar soluciones usando un proceso de
aprendizaje a travs de un muestreo de datos. La ventaja de la RNA es la habilidad
de aprender, adaptndose a cambios de comportamiento y nuevas situaciones.

Para hacer uso de ambas ventajas, estas tcnicas han sido combinadas. El resultado de esto
es un sistema Neuro-Difuso. La combinacin resulta de convertir un Sistema Difuso en una
Red Neuronal o vice-versa. Hay dos procedimientos tpicos para aplicar cada Sistema
Neuro-Difuso:

1) Cuando se tiene escaso conocimiento de un determinado proceso. Esta situacin
conllevar el diseo de un Sistema Difuso de mala calidad. Este Sistema Difuso puede ser
transformado en una Red Neuronal la cual es optimizada usando datos de ejemplos
obtenidos del proceso a controlar.

2) Usando redes Neuronales, es posible generar una solucin a travs de una coleccin de
datos que por ejemplo pueden identificar el comportamiento desconocido de un proceso. Es
posible transformar la Red Neuronal (Una estructura de RNA en particular) en un Sistema
Difuso. A travs de esta transformacin puede ser interpretada la base de reglas asociada y
65

de esta manera obtener una descripcin comprensible del problema, como lo es el
comportamiento de un proceso.

3 . 2 . Clasi ficacin de Redes Neuro-Difusas

Las diferentes combinaciones de Redes Neuronales y Lgica Difusa se pueden describir de
la siguiente forma:

- Redes Neuronales Difusas: En este tipo de combinacin se usan mtodos para
incrementar la capacidad de aprendizaje de una RNA. Por ejemplo, se puede hacer
variar la velocidad de Aprendizaje.

- Sistemas Neuronal/Difusos Concurrentes: En este tipo de sistemas, una RNA y
un Sistema Difuso trabajan juntos en la misma tarea sin influenciarse el uno al otro.
Usualmente la RNA se usa para pre-procesar la entrada o post-procesar la salida del
Sistema Difuso.

- Modelos Neuro-Difusos Cooperativos: en este tipo de esquemas, una RNA se usa
para determinar los parmetros de un Sistema Difuso (Reglas y/o Parmetros de una
Funcin de Pertenencia)

- Modelos Neuro-Difusos Hbridos: En este caso, las RNA y los Sistemas Difusos
se combinan para hacer una arquitectura homognea. El sistema se puede interpretar
como una RNA especial con parmetros difusos o como un sistema difuso
implementado en forma distribuida en paralelo. Como aplicacin de estos tipos de
modelos existen ya varios algoritmos desarrollados como son: ANFIS, FuNe,
ARIC, NEFCLASS, NEFCON.


66

A continuacin se describe brevemente algunas topologas de redes Neuro-Difusas
ANFIS

ANFIS (Adaptative Neuro Fuzzy Inference System) es un mtodo que permite sintonizar o
crear la base de reglas de un sistema difuso, utilizando el algoritmo de entrenamiento
Backpropagation (descrito en el captulo 1) a partir de la recopilacin de datos de un
proceso. Su arquitectura es funcionalmente equivalente a una base de reglas del tipo
Sugeno.

FSOM

FSOM (Fuzzy Self-Organizing Maps) consiste en un sistema difuso optimizado a partir de
la tcnica de los mapas auto-organizados de Kohonen.

NEFCLASS

El algoritmo NEFCLASS est basado en la estructura del perceptrn multicapa (explicado
en detalle en el captulo 1) cuyos pesos son modelados por conjuntos difusos. As, se
preserva la estructura de una red neuronal, pero se permite la interpretacin del sistema
resultante por el sistema difuso asociado, es decir, la RNA deja de ser una caja negra.

3 . 3 . Redes NFN

Para poder hacer uso de las ventajas de las redes Neuronales y Sistemas Difusos en un
proyecto, se requiere un sistema que:

- Procese Funciones de Pertenencia y la Base de Reglas de un Modelo Difuso.
- Un sistema capaz de determinar conocimiento a travs de datos de ejemplo usando
neuronas que tiene la habilidad de aprender.

67

La solucin que Siemens propone para cubrir estos requerimientos radica en una Red
Neuronal Especial. Llamada Red Neuro-Difusa (NFN). Esta consiste en tres Sub-redes
Neuronales (NSN) que emulan las tres sub-tareas de un Sistema Difuso, Fusificacin,
Inferencia y Desfusificacin.


Figura N 3.1: Estructura de Una Red Neuro-Difusa

A continuacin se detalla el trabajo de cada Subred Neuronal:

3 . 3 . 1 Fusificacin Neuro-Difusa (1
ra
Subred)

La Fusificacin de las variables de entradas No-Fusificadas es implementada por una capa
de Neuronas con una Funcin de Activacin Similar a las de una Red Neuronal con una
Funcin de Base Radial (RBF). Una Neurona es asignada a cada Funcin de Pertenencia
propia de cada variable de entrada.

68


Figura N 3.2: Implementacin de Funciones de Pertenencia con RBF

La Capa 1 es formada por la 1
ra
Subred la cual contiene tiene m Neuronas donde:



Donde corresponde al nmero de entradas y al nmero de funciones de la -sima
entrada.

3 . 3 . 2 Inferencia Neuro-Difusa (2
da
Subred)

La Base de Reglas del Sistema Difuso se realiza en la 2
da
Subred Neuronal. Una Neurona es
asignada a cada Regla. La parte SI de la Regla Difusa es implementada por la Primera
capa de la 2
da
Subred y la parte THEN de la Regla Difusa es implementada en una
segunda capa dentro de esta misma subred. El Nmero de Neuronas en esta capa es
equivalente al Nmero de Funciones de Pertenencia de las Variables de Salida.






(3.1)
69

3 . 3 . 3 Desfusificacin Neuro-Difusa (3
ra
Subred)

Los valores de salida del sistema son implementados en la 3
ra
Subred por el mtodo
estndar de Desfusificacin, Inferencia MAX-PROD seguida por el Clculo del Centroide.

Los pasos anteriores resultan en la Topologa Neuro-Difusa que se muestra en la figura 3.3.

Figura N 3.3: Topologa de la Red Neuro-Difusa

El sistema que se ilustra en la figura 3.3 cuenta con:

- Dos seales de entrada, y .

- Tres Funciones de Pertenencia para cada seal de entrada (N-Negativa, Z-Zero, P-
Positivo)

- Tres Funciones de Pertenencia para la seal de salida (N-Negativa, Z-Zero, P-
Positivo)

EZ
70

Debido a su estructura de Red Neuronal, este sistema es capaz de aprender. Y debido a su
topologa Difusa, este mismo es capaz de recrear el procesamiento de cada paso,
entendiendo as como la red soluciona un problema.

Por ejemplo, la Regla 4, segn la figura 3.3, quedara de la siguiente forma:

SI es igual a y es igual a , Entonces es igual a

Esta Regla activa la Neurona EZ1 y la Neurona EZ5 pertenecientes la 1
ra

NSN. En la 2
da
NSN la Neurona R4 puede formar la combinacin y expresada en la
regla ya que ambas entradas son activadas y por lo tanto activan la Neurona AZ2, la cual
invoca la condicin ENTONCES . La Desfusificacin es realizada por un clculo
de Cuociente (en la capa 6) a travs del momento de la Neurona (M) y el rea de la
Neurona (A) en la capa 5.

Con esta estructura definida es posible slo variar el nmero de funciones de pertenencia
con respecto a la entrada y seales de salida. Por lo tanto, en el software Neurosystems,
slo se pide introducir estas cantidades para definir la estructura de la Red Neuro-difusa.

Ejemplos de Uso de Sistemas Neuro-Difuso

Caso 1: Modelo Difuso que no es suficientemente preciso, es optimizado por una Red
Neuronal

Caso 2: Proceso del cual se tiene muy poco conocimiento para formar un sistema Difuso
pero se tiene una serie de Datos de Medicin disponible.




71

Captulo 4: NEUROSYSTEMS Y FUZZYCONTROL++
Los programas NEUROSYSTEMS y FUZZYCONTROL++ son aplicaciones que ofrecen la
posibilidad de desarrollar control inteligente de procesos industriales, a travs de redes
neuronales o control difuso respectivamente, especialmente diseado para trabajar con
PLCs (de la familia Simatic S7 o cualquier otro fabricante), y cualquier ambiente de
programacin grfica que soporte ActiveX. Estas herramientas cuentan con un entorno de
trabajo amigable e intuitivo el cual permite:
- Configurar todos los parmetros asociados a un controlador difuso de manera
grfica.
- Observar el comportamiento del controlador difuso a travs de grficas y
tendencias.
- Simular el controlador configurado.

Primero se describe el concepto Sistemas Destino, necesario para entender como
comenzar a configurar la red neuronal o un sistema difuso y de qu manera establecer el
enlace entre NEUROSYSTEMS/FUZZYCONTROL++ y el sistema de automatizacin a
nivel de software y hardware.

En el tem siguiente, se presenta la forma de como comenzar a desarrollar un proyecto
nuevo en NEUROSYSTEMS, definiendo todos los parmetros asociados a una red neuronal
y un anlisis de las opciones de validacin propias de NEUROSYSTEMS.

Luego, se presenta la forma de como comenzar a desarrollar un proyecto nuevo con
FUZZYCONTROL++, definiendo todos los parmetros asociados a un sistema difuso y un
anlisis de las opciones de validacin propias de FUZZYCONTROL++.
Y finalmente se realiza un anlisis de visualizaciones comunes entre NEUROSYSTEMS y
FUZZYCONTROL++.

72

4 . 1 . SISTEMAS DESTINO (TARGET SYSTEMS)

Antes de comenzar con la descripcin del software NEUROSYSTEMS y
FUZZYCONTROL++, se describir la amplia posibilidad de conectividad que tienen estas
herramientas con diversos autmatas u otro tipo de sistema que se desee controlar.
Los mdulos de ejecucin para los sistemas de destino S7, ActiveX, OPC y SIMATIC
WinCC calculan los valores de salida para los valores de entrada en lnea, utilizando el
algoritmo de parmetros de la red neuronal o sistema difuso.

4 . 1 . 1 Descripcin de los Sistemas Destino

A continuacin se describe cada sistema destino y sus requerimientos:

Sistema Destino S7: El algoritmo generado por una red neuronal / sistema difuso es
calculado por el procesador del PLC S7-300 / S7-400, ms especficamente por un bloque
de funcin (FB) el cual recibe los datos de cada entrada desde un bloque de datos (DB) de
instancia que tiene como tarea actualizar las entradas de la red en el FB y posteriormente
almacenan los valores de salida.

Los datos de la estructura de la red como pesos y nmero de neuronas, y en caso de un
sistema difuso, funciones de pertenencia de las entradas, salidas y reglas difusas en cada
capa, son entregados por el enlace entre NEUROSYSTEMS/FUZZYCONTROL++ y Step7
hacia un DB de instancia, el cual es descrito implcitamente por
NEUROSYSTEMS/FUZZYCONTROL++ y transfirindolos finalmente al FB. Existen dos
variantes de este sistema; S7-4K y S7-20K, los cuales se diferencian en la capacidad de
almacenamiento de datos del DB asociado a la red neuronal/sistema difuso causando
distintas limitaciones para cada variante en la definicin del sistema. En la figura 4.1 a) se
muestra en flujo de datos en el programa de usuario de la utilizacin de una red neuronal en
Step7 y en la figura 4.1 b) se muestra la estructura del FB asociado a una red la cual tiene
como parmetros las entradas de la red, las salidas y una palabra ERROR (este parmetro
73

devuelve el estado operativo de la red). El flujo de datos y el bloque asociado a un sistema
difuso se muestra en la figura 4.2.


Figura N 4.1: a) Flujo de Datos de la Red Neuronal en el Programa de Usuario
b) Bloque de Funcin generado por NEUROSYSTEMS


Figura N 4.2: a) Flujo de datos de un sistema difuso en el programa de usuario
b) Bloque de Funcin generado por FUZZYCONTROL++


Sistema Destino WinCC: Consisteen un objeto dll llamado Neuro.oll/Fuzzy.oll realizado
especialmente para el Scada WinCC, el cual provee la implementacin de la red
neuronal/sistema difuso a travs de un archivo *.snl/*.fpl, el cual es generado por
NEUROSYSTEMS/FUZZYCONTROL++ al momento de guardar un proyecto. Otras dos
dll llamadas NeuroDLL.dll y neuroio.dll proveen las funciones requeridas por neuro.oll. En
a) b)
a) b)
74

el caso de un sistema difuso una dll llamada FuzzyDLL.dll provee las funciones requeridas
por Fuzzy.oll. En la figura 4.3 a) se puede observar el objeto neuro.oll de una red neuronal
y en la figura 4.3 b) puede observar el objeto fuzzy.oll de un sistema difuso.


Figura N4.3: a) Objeto DLL de NEUROSYSTEMS
b) Objeto DLL de FUZZYCONTROL++

Sistema Destino ActiveX: Consiste en un componente ActiveX realizado para cualquier
ambiente de programacin grfica que soporte ActiveX, el cual hace uso de una dll llamada
NeuroDll.dll/FuzzyDLL.dll que provee de las funciones necesarias para la interpretacin de
la estructura definida en un archivo *.snl/*.fpl, el cual es generado por
NEUROSYSTEMS/FUZZYCONTROL++ al momento de guardar un proyecto. En la figura
4.4 a) se puede observar el objeto ActiveX de una red neuronal y en la figura 4.4 b) puede
observar el objeto ActiveX de un sistema difuso.

Figura N 4.4: a) Objeto ActiveX de NEUROSYSTEMS
b) Objeto ActiveX de FUZZYCONTROL++

Sistema Destino PCS 7: Consiste en un objeto CFC el cual se inserta en el programa de
usuario que ser ejecutado en el PLC S7-400. El algoritmo generado por una red neuronal
es calculado por el procesador del PLC, ms especficamente por un bloque de funcin
(FB) el cual recibe los datos de cada entrada desde un bloque de datos (DB) de instancia y
a) b)
a) b)
75

un bloque de datos global los cuales actualizan las entradas de la red y posteriormente
almacenan los valores de salida. Los datos de la estructura de la red neuronal/sistema difuso
en cada capa son entregados por el enlace entre NEUROSYSTEMS /FUZZYCONTROL++ y
PCS 7 hacia el DB de instancia, el cual es descrito implcitamente por NEUROSYSTEMS/
FUZZYCONTROL++. En la figura 4.5 a) se puede observar el objeto CFC de una red
neuronal y en la figura 4.5 b) puede observar el objeto CFC de un sistema difuso.


Figura N 4.5: Objeto CFC de una Red Neuronal

Sistema Destino OPC: OPC Permite un intercambio de datos entre aplicaciones estndar
de la industria, oficina, y la manufactura. Dentro de este concepto, dispositivos y
aplicaciones de distintos fabricantes pueden ser combinados. El cliente OPC es una
aplicacin que tiene acceso a los datos de proceso almacenados en un servidor OPC. El
servidor OPC es un programa que ofrece una interfaz de software estndar para
aplicaciones de diferentes proveedores el cual interacta con cada cliente OPC. En el
sistema de destino OPC la red neuronal / sistema difuso se ejecuta en un PC a travs del
enlace entre NEUROSYSTEMS/FUZZYCONTROL++ y un servidor OPC, la red neuronal /
sistema difuso recibe sus valores de entrada en lnea a travs de variables OPC y calcula los
valores de salida los cuales son escritos tambin por variables OPC.

a)
b)
76

4 . 1 . 2 Limitaciones de los Sistemas Destino

Cada sistema destino cuenta con sus propias limitaciones que estn estrechamente
relacionadas con restricciones en la estructura de la red neuronal / sistema difuso.
El nmero mximo de entradas y salidas, neuronas y pesos que dependen del sistema de
destino elegido se muestran en la tabla 4.1.

Sistema Destino Entradas Salidas Neuronas Pesos
S7 4K 4 4 99 199
20K 100 10 160 1660
WinCC 10 5 Ilimitadas Ilimitados
ActiveX 100 10 Ilimitadas Ilimitados
OPC 100 10 Ilimitadas Ilimitados
PCS 7 100 10 1000 15000
Tabla N 4.1: Restricciones de la estructura de la red debido al sistema destino
seleccionado

El nmero mximo de entradas, salidas y reglas dependen del sistema de destino elegido,
no as el N mximo de las funciones de pertenencia, el cual est limitado por el estndar
Fuzzy Programming Language (para ms detalles ver Anexo A). En la tabla 4.2 se
muestran estas restricciones.




77

Sistema Destino Nmero Max.
de Entradas
Nmero Max.
de Salidas
Nmero Max.
de Reglas
S7 4K 8 4 200
20K 8 4 2000
WinCC 8 4 2000
ActiveX 8 4 2000
OPC 8 4 2000
PCS 7 8 4 2000
Tabla N 4.2: Restricciones de la estructura de un sistema difuso debido al sistema
destino seleccionado

4 . 1 . 3 Requeri mientos de los Sistemas Destinos

Las principales caractersticas de cada sistema destino se resumen en la tabla 4.3 y hacen
referencia al sistema de automatizacin, que consiste en el sistema de control con el que
interactuar NEUROSYSTEMS/FUZZYCONTROL++ (en lnea o fuera de lnea), el cual
puede ser desde un PLC Siemens (sistemas destino S7, WinCC y PCS7) u otro fabricante
(sistemas destino ActiveX y OPC) hasta cualquier otro sistema de control (sistema destino
ActiveX y OPC).

Los requerimientos de software hacen referencia a los programas adicionales con los que se
debe contar para utilizar el sistema destino. Para el caso del sistema destino S7 es
imprescindible contar con SimaticNet para la comunicacin PC-PLC.

La conectividad On line con el autmata hace referencia a la posibilidad de establecer un
Intercambio de datos entre el PLC y el NEUROSYSTEMS/ FUZZYCONTROL++. Si el
enlace es posible, todas las opciones de visualizacin de NEUROSYSTEMS/
FUZZYCONTROL++ son posibles de manipular en lnea, pudiendo observar el
comportamiento de la red neuronal/sistema difuso en forma grfica y en tiempo real. En las
78

figuras 4.6 y 4.7 se pueden observar con ms detalle los requerimientos de cada sistema de
destino a nivel de software y hardware.

Tabla N 4.3: Principales caractersticas de los Sistemas Destino

La conectividad a nivel de red entre PLC/PC se puede realizar con las siguientes redes:

- MPI (Multi Point Interface)
- Profibus DP
- Ethernet Industrial
- TCP/IP

Nota: El sistema de destino debe seleccionarse al crear un nuevo proyecto, y no cambiarlo
ms tarde, porque algunas operaciones en NEUROSYSTEMS/FUZZYCONTROL++
dependen de esta configuracin. Si se modifica la configuracin, el rendimiento y la
exactitud de la red neuronal no alcanzarn alcanzar el mximo nivel posible.
Sistema Destino Sistema de
Automatizacin
Requerimientos de
Software
Conectividad On Line
S7 (4K-20K) S7-300 / S7400 Step7-SimaticNet Si
WinCC S7-300 / S7400 Step7-WinCC No
ActiveX Multi-Proveedor

Step7-WinCC u otra
Aplicacin de Windows
con soporte ActiveX
No
OPC Multi-Proveedor Servidor OPC Si
PCS 7 (CFC-4K-20K) S7-400 PCS 7 Si
79


Figura N 4.6: Requerimientos de los Sistemas Destino en NEUROSYSTEMS
80


Figura N 4.7: Requerimientos de los Sistemas Destino FUZZYCONTROL++

4 . 2 . NEUROSYSTEMS V5.1

A continuacin se describe el procedimiento que se debe llevar a cabo para desarrollar un
proyecto en NEUROSYSTEMS, el cual consiste en definir la estructura de la red neuronal
para luego pasar a un proceso de validacin.

4 . 2 . 1 Creacin de un Proyecto Nuevo

Al generar un sistema nuevo, lo primero que se despliega el cuadro de dilogo que se
observa en la figura 4.8 en el cual se selecciona:

- Nmero de Entradas, el cual puede ser editado posteriormente.
81

- Nmero de Salidas, el cual tambin puede ser editado posteriormente.
- Sistema Destino (Target System), El sistema destino en que ser alojado la red
neuronal. En la seccin 4.1 se analiza esta opcin con detalle.


Figura N 4.8: Ventana de Proyecto Nuevo

Al finalizar esta configuracin general se desplegar grficamente, como se ve en la figura
4.9, la Estructura de la red neuronal, que por defecto es una red neuronal Perceptrn
Multicapa (MLP). En donde:
Son los bloques asociados a la configuracin de cada entrada. Es posible editar el
rango y el nombre de cada entrada. Al hacer doble clic sobre uno de estos bloques se
despliega la ventana Propiedades de Entrada.
Es el bloque asociado al tipo de red neuronal de las cual se pueden elegir:
- Perceptrn Multicapa (MLP)
- Funcin de Base Radial
- Red Neuro-Difusa

Al hacer doble clic sobre este bloque se despliega la ventana Tipo de Red.
Seleccin de N de
Entradas y Salidas
Seleccin del
Sistema de Destino
Informacin del
Sistema de Destino
A
B
82

Es el bloque asociado a la configuracin de la salida es posible editar el rango y el
nombre de cada entrada. Al hacer doble clic sobre uno de ellos se despliega la ventana de
Edicin de Propiedades para la Salida.




Figura N 4.9: Estructura de la Red Neurona

4 . 2 . 2 Edicin de las Propiedades de las Entradas y Salidas de la Red
Neuronal

En las Figura 4.10 y 4.11 se muestran la ventana Propiedades de Entrada (Input Properties)
y Salida (Output Properties) respectivamente, la cual se despliega al hacer doble clic sobre
uno de los bloques de y . Esta ventana permite seleccionar el nombre y rango de la
seal de entrada/salida, tambin a travs de las opciones del campo nombre se puede
adjudicar un nombre con un nmero correlativo (Ej. Entrada00-Entrada01..) a todas las
entradas/salida (for all input/output) o solo a algunas (for this and the following x inputs),
donde x es el nmero de entradas que se le adjudicar un nmero correlativo).
Adicionalmente se puede dejar algn comentario relacionado con esta seal.
Bloques de
Configuracin de
Entradas
Bloque de
Configuracin de
Salida
Bloque de
Configuracin del
Tipo de Red
C
A
B
C
A
C
83


Figura N 4.10: Ventana Edicin de Propiedades para una Entrada


Figura N 4.11: Ventana Edicin de Propiedades para una Salida
Seleccin del Rango de
la Seal de Entrada
Seleccin del Nombre
de Entrada
Comentarios
Seleccin del Rango de
la Seal de Salida
Seleccin del Nombre
de salida
84

4 . 2 . 3 Seleccin del Tipo de Red

Cuando se define un proyecto nuevo, por defecto se crea la estructura de una Red Neuronal
Perceptrn Multicapa (MLP). Sin embargo, es posible cambiar esta estructura, la figura
4.12 muestra la ventana Tipo de Red (Network Type).

NEUROSYSTEMS provee los siguientes tipos de redes:

Perceptrn Multicapa (MLP): Este tipo de red es recomendada si se tiene disponible un
archivo de Datos de Entrenamiento relativamente pequeo.

Redes de Funcin de Base Radial (RBF): Este tipo de red es recomendada cuando se
dispone un Archivo de Datos de Entrenamiento grande.

Red Neuro-Difusa: Las redes de este tipo procesan funciones de pertenencia y reglas de un
sistema difuso.


Figura N 4.12: Ventana Tipo de Red
Seleccin del
Tipo de Red
Comentarios
Configuracin
de la Estructura
85

4 . 2 . 3 . 1 Configuracin de una Red Neuronal MLP

Las redes neuronales Perceptrn Multicapa se describen en el captulo 1.

En la figura 4.13 se pueden observar la Ventana de Estructura MLP la cual nos permite:

- Ingresar el Nmero de Capas de la Red Neuronal, se puede seleccionar una o dos
capas ocultas. Por lo tanto la red contar con un total de tres o cuatro capas.

- Ingresar nmero de Neurona en la (s) capa(s) Oculta(s). Este nmero va desde
uno a 50 neuronas para cada capa oculta. El nmero de neuronas en las capas de
entrada y salida son el mismo nmero de entradas y salidas definidas anteriormente.


Figura N 4.13: Ventana Estructura de una Red MLP






Seleccin del N de
Capas
Seleccin del N de
neuronas en la o las
capas ocultas
86

4 . 2 . 3 . 2 Configuracin de una Red Neuronal RBF

Las redes neuronales de funciones de Base Radial se describen en el captulo 1.

En la figura 4.14 se pueden observar la Ventana de Estructura RBF la cual nos permite:

- Ingresar el Nmero de Neuronas en la Capa Oculta. Este nmero va desde uno a
cincuenta neuronas. La red RBF siempre cuenta solo con tres capas ocultas, por lo
tanto no es posible agregar ms. El nmero de neuronas en las capas de entrada y
salida son el mismo nmero de entradas y salidas definidas anteriormente.


Figura N 4.14: Ventana Estructura de una Red RBF








Seleccin del N de
neuronas en la capa
oculta
87

4 . 2 . 3 . 3 Configuracin de una Red Neuro-Difusa

Este tipo de red hace uso de las ventajas de un sistema difuso y de las redes neuronales. Las
redes neuro-difusas se describen en el captulo 3.

En esta seccin nos limitaremos a decir que existen 2 casos de uso de las redes neuro-
difusas:

1) Proceso del cual se tiene muy poco conocimiento para formar un sistema difuso,
pero se tiene una serie de datos de medicin disponible.
2) Modelo difuso que no es suficientemente preciso, es optimizado por una red
neuronal.

Para el Caso 1:

La red es definida completamente en NEUROSYSTEMS, esto quiere decir nmero de
entradas, nmero de salidas y nmero de funciones de pertenencia de entradas y salidas.
Despus de entrenar la red de manera satisfactoria, se puede exportar el resultado a la
herramienta FUZZYCONTROL++ en el men Exportar, generndose entonces un archivo
*.fpl. Esta accin permite transformar la red compuesta de neuronas en un sistema difuso a
la cual se le pueden observar sus reglas asociadas y las formas de las funciones de
pertenencia creadas por el entrenamiento.

Nota: Al generar el archivo *.fpl despus de la exportacin es posible ver el cdigo fuente
del sistema difuso abriendo este con un block de notas.





88

Para el Caso 2:

La red es definida desde un archivo *.fpl y la conversin de las funciones de pertenencia a
funciones de activacin de neuronas, es realizada automticamente al importar el archivo
*.fpl y convirtindose entonces en un archivo *.nsl.

La figura 4.15 ilustra como los programas FUZZYCONTROL++ y NEUROSYSTEMS
trabajan juntos como un sistema neuro-difuso.


Figura N 4.15: Intercambio de Datos entre FuzzyControl++ y NeuroSystems

Al usar este tipo de red tenemos algunas limitaciones, estas son:

- Nmero mximo de entradas: 8
- Nmero mximo de salidas: 4
- Nmero mximo de FP de tipo Trapezoidal por Entrada: 7
- Nmero mximo de FP de tipo Singleton por Salida: 9
89

- El producto del nmero de FP de todas las entradas debe ser igual o menor a 2000.
Ejemplo:
3 entradas con 5 FP cada una y 2 entradas con 4 FP cada una =5*5*5*4*4=2000:
Posible.
4 entradas con 5 FP cada una y 1 entradas con 4 FP cada una =5*5*5*5*4=2500:
No es posible

En la figura 4.16 se pueden observar la Ventana de Estructura de una Red NFN la cual nos
permite:

- Ingresar el nmero de FP asociada a cada entrada y Salida: Las funciones de
pertenencia difusas de las entradas y las salidas son automticamente adaptadas
durante el proceso de entrenamiento y al mismo tiempo se generar una base de
reglas. NEUROSYSTEMS slo genera reglas con operaciones AND en la parte IF
(ej. IF x es z
1
AND y es z
2
then.). El mtodo de inferencia utilizado es el Mtodo
de Inferencia Sugeno (Inferencia SUM-MIN con Singleton). (para ms detalle
terico sobre este tipo ver Captulo 2).



Figura N 4.16: Ventana Estructura de una Red NFN

Seleccin del N de FP
para cada Salida
Seleccin del N de
FP para cada entrada
90

4 . 2 . 3 . 4 Configuracin del Aprendizaje

Para proceder al entrenamiento de la red neuronal se debe acceder a la pestaa Aprender
(learn) y realizar el siguiente procedimiento:

1. Cargar el archivo de entrenamiento
2. Seleccionar el rango de las entradas y salidas
3. Comenzar el aprendizaje
4. Adicionalmente es posible realizar un anlisis grfico de los datos de aprendizaje.

4 . 2 . 3 . 4 . 1 Seleccin del Archi vo de Entrenamiento

En la figura 4.17 se muestra la Ventana de Seleccin del archivo de entrenamiento, la cual
permite buscar un archivo de aprendizaje y posteriormente utilizarlo para entrenar la red
neuronal.


Figura N 4.17: Ventana Seleccin del archivo de entrenamiento

Luego de contar con el archivo de datos aprendizaje, se presiona OK y emerge una ventana
preguntando si se quiere definir un rango para las entradas y salida de forma inmediata o en
un momento posterior dentro del men Aprender (Learn). Si responde, definir
inmediatamente, emerger la ventana que se muestra en la figura 4.18 y que cuenta con las
siguientes opciones:

Bsqueda del Archivo
de Entrenamiento
91

Opcin 1. Sin Cambio (No change): El rango permanece inalterado, es equivalente a no
aplicar ningn rango.

Opcin 2. En base al Archivo de Aprendizaje (On base of learnfile): El lmite
superior/inferior de una entrada o salida es asignada con su respectivo ms grande/pequeo
valor dentro del archivo de aprendizaje.

Opcin 3. Mediante el Promedio y la Desviacin Estndar (By means of the average
and standard deviation): Obtiene el promedio y desviacin estndar de cada entrada y
salida a travs del archivo de aprendizaje. El lmite inferior y superior de cada entrada y
salida puede ser seteado como se indica a continuacin:




El menor de los k implicar a su vez el menor de los rangos.

Nota 1: El rango seleccionado es especialmente importante para las redes NFN, ya que en
base a este rango se determina una base de reglas satisfactoria.

Nota 2: La determinacin del rango no debe ser cambiada. Si fuese necesario este cambio
debido a la incorporacin de nuevos datos, es importante comenzar un nuevo proceso de
aprendizaje para evitar resultados errneos.

Figura N 4.18: Ventana de Seleccin de Rango
Opciones de Rango
Parmetro del
Rango Opcin 3
92

4 . 2 . 3 . 4 . 2 Inicio del Proceso de Aprendizaje (Start Learning Process)

En la figura 4.19 se muestra la Ventana Inicio del Proceso de Aprendizaje, la cual contiene:

- El nombre y el directorio de los archivos de datos de aprendizaje asociados.
- Opcin de seleccin para la validacin de datos.
- Opciones para dar por terminado el aprendizaje.


Figura N 4.19: Ventana Inicio del Proceso de Aprendizaje

En la figura 4.19 se destacan los campos para seleccin de datos de validacin y opciones
para terminar el aprendizaje. Estos se describen a continuacin:

Opciones de Datos
para Validacin
Opciones de
Terminacin del
Aprendizaje
Opcin de Reset de
la Red antes del
Aprendizaje
93

1. Seleccin de Datos de Validacin (Validation Data): La efectividad del
aprendizaje se puede comprobar utilizando un archivo de validacin de datos
(distinto del archivo de aprendizaje) o un conjunto de datos para validacin
seleccionados del archivo de datos de aprendizaje. El formato de estos archivos
debe tener la extensin .dat.
Se dispone de las siguientes opciones para seleccionar datos de validacin:

- No usar datos para validacin (none): El archivo de datos de aprendizaje es
utilizado completamente para el entrenamiento.

- Seleccin aleatoria de los datos para validacin del archivo de datos de
aprendizaje (random): 40% de los conjuntos de datos que deben aprenderse son
seleccionados al azar para la validacin de datos. La red ser entrenada entonces
con el 60% restante del conjunto de datos.

- Usar un archivo que contiene los datos de validacin (file): Es necesario
seleccionar un nuevo archivo *.dat, en el que se encuentran los datos para la
validacin. En este caso el archivo de datos para el aprendizaje se utiliza
completamente.

2. Terminacin del proceso de aprendizaje (Terminate the Learning Process): Se
puede establecer la terminacin del aprendizaje en funcin de tres condiciones:

- Un % de error relativo: Es posible introducir un nmero para el lmite de
porcentaje de error. El error se calcula de la siguiente manera: La suma de errores
cuadrticos entre los valores de salida deseados y los reales, divididos por el nmero
de salidas y el nmero de conjuntos de datos aprendizaje y validacin. La raz de
esta expresin es el error relativo total.

94

- Despus de un perodo de tiempo en minutos: Se puede fijar un lmite en el
tiempo de aprendizaje mediante la introduccin de un entero positivo para el
mximo tiempo de aprendizaje, en cuestin de minutos.

- Despus de un nmero de pasos de aprendizaje: Ingresando un nmero entero
positivo entre 1 y 1.000.000, se define el nmero de pasos de aprendizaje.

Si se cumple cualquiera de estas tres condiciones el algoritmo de aprendizaje se detiene.

4 . 2 . 3 . 5 Anlisis de Archivos de Datos de Aprendizaje y Validacin

Es posible realizar un anlisis exhaustivo del archivo de datos de aprendizaje para
determinar sus descriptores estadsticos, obtener una visin grfica de las tendencias que
debe aprender la red neuronal y conocer dependencias entre entradas y salidas.

A continuacin se describe cada una de las herramientas asociadas a este anlisis.

4 . 2 . 3 . 5 . 1 Distribucin (Distribution)

La ventana Distribucin se muestra en la figura 4.20, y tiene como objetivo mostrar a
travs de un grfico de barras la distribucin de valores asociados a cada una de las
entradas o salidas disponibles en un archivo de datos de aprendizaje o de prueba, dando a la
vez, informacin de los descriptores estadsticos del archivo. En principio es un histograma
de los valores de un archivo con respecto a una variable de entrada salida.

Para acceder a esta opcin, dirigirse a pestaa test. Esta opcin est activa solo cuando se
tiene cargado un archivo de datos de aprendizaje o prueba.

El eje horizontal representa el rango de una seal de entrada o salida.
El eje vertical representa el nmero de valores de una barra en particular.
95

La informacin estadstica proporcionada es:

Promedio: Se obtiene el valor promedio de los datos de aprendizaje de una entrada o salida.
Un punto amarillo bajo el eje horizontal muestra la posicin de este valor.

Media: Se obtiene la media de los datos de aprendizaje de una entrada o salida. Esto
significa que se obtiene el valor que deja el mismo nmero de datos antes y despus que l,
una vez ordenados. De acuerdo con esta definicin el conjunto de datos menores o iguales
que la mediana representarn el 50% de los datos, y los que sean mayores que la mediana
representarn el otro 50% del total de datos de la muestra. Un punto verde bajo el eje
horizontal muestra la posicin de este valor.

Desviacin Standard: Se obtiene la desviacin estndar de los datos de aprendizaje de una
entrada o salida. Una barra amarilla bajo el eje X muestra la media desviacin estndar.

Figura N 4.20: Ventana Distribucin

4 . 2 . 3 . 5 . 2 Combinacin (Combination)
Visualizacin de
los Descriptores
Estadsticos
Promedio Desviacin
Standard
Media
96

La ventana Combinacin se muestra en la figura 4.21 y tiene como objetivo determinar por
medio de una grfica, si es que existe, una dependencia lineal o no lineal entre una entrada
y una salida.

Los valores de una seal de entrada son asignados a una seal de salida de manera grfica.
Si existe ms de una salida para un mismo valor de entrada se visualizar una conexin
vertical en ese punto.
El eje horizontal representa el rango de una entrada.
El eje vertical representa el rango de una salida.


Figura N 4.21: Ventana Combinacin




97

4 . 2 . 3 . 5 . 3 Relevancia de Entrada (Input Relevancy)

La ventana Relevancia de Entrada se muestra en la figura 4.22 y tiene como objetivo
indicar grficamente la seal de entrada con mayor relevancia en el resultado arrojado por
la red.
El clculo de la grfica puede tomar algo de tiempo, especialmente si el archivo de
aprendizaje es grande. El clculo comienza cuando se realiza el entrenamiento de la red, es
por ello que depende directamente del tamao de este.
Cada entrada es representada en forma de barra sobre el eje X. Para reconocer que barra
corresponde a una determinada entrada, se puede clickear encima de una de ellas,
desplegndose el nombre en pantalla.
El eje Y representa la importancia de la entrada asignada a una barra, y mientras ms alta
sea, mayor ser la importancia de esta desde el punto de vista de comportamiento entrada-
salida.


Figura N 4.22: Ventana Relevancia de Entrada
98

4 . 2 . 3 . 5 . 4 Resumen de Error (Error Summary)

La ventana de Resumen de Error se muestra en la figura 4.23 tiene como objetivo expresar
grficamente:

- La seal de Salida Deseada.
- La seal de Salida Real.
- Desviacin entre la Seal de Salida Deseada y la Real asociada a una Red Neuronal.

En este sentido los valores deseados de los archivo de prueba se comparan con los que se
han calculado por la red (valores reales). La desviacin se muestra grficamente. La
diagonal que se traza en el diagrama corresponde al comportamiento ideal de la red.
Todos los puntos deben estar en o al lado de esta lnea. Las seales de salida que se han
creado por la red neuronal como una respuesta a las seales de entrada de prueba se
muestran como una nube de puntos.
Este diagrama permite una rpida estimacin de qu tan bueno es el entrenamiento de la red
y en qu reas la red se desva del comportamiento ideal. Tambin se puede utilizar para
hacer una rpida comparacin con otras redes entrenadas.


Figura N 23: Ventana Resumen de Error
99

4 . 3 . FUZZYCONTROL++ V6.0

A continuacin se describe el procedimiento que se debe llevar a cabo para desarrollar un
proyecto en FUZZYCONTROL++, el cual consiste en Definir la Estructura del Controlador
Difuso para luego pasar a un proceso de Validacin.

4 . 3 . 1 Inicio de un Proyecto con FUZZYCONTROL++

Al generar un sistema nuevo, lo primero que se despliega es el cuadro de dilogo que se
observa en la figura 4.24, en el cual se selecciona:

- Nmero de Entradas, el cual puede ser Editado con posterioridad.
- Nmero de Salidas, el cual tambin puede ser Editado con posterioridad.
- Sistema Destino (Target System), El Sistema Destino en que ser alojado el Control
Difuso, en la seccin 4.1 se analiza esta opcin con detalle.


Figura N 4.24: Ventana de Proyecto Nuevo

Seleccin del
N de Entradas
y Salidas
Seleccin
del Sistema
de Destino
Informacin
Sistema Destino
100

Al finalizar esta Configuracin General se desplegar grficamente, como se ve en la figura
4.25, la Estructura del Sistema Difuso. En donde:
Son los Bloques asociados a cada Entrada.
Es el Bloque Asociado a las Reglas Difusas. Al hacer Doble clic sobre l se despliega
la Ventana de Edicin Reglas.
Es el Bloque asociado a una Salida. Al hacer Doble clic sobre uno de ellos se despliega
la Ventana de Edicin de Propiedades para la Salida.


Figura N 4.25: Estructura del Sistema Difuso

4 . 3 . 2 Edicin de las Propiedades de las Entradas Difusas

Primero que todo se debe saber que el Control Difuso estructurado por
FUZZYCONTROL++, estructurado a travs de de Fuzzy Programming Language, permite
slo Funciones de Pertenencia (FP) Tipo Trapezoidales y Salidas Tipo Singleton (para ms
detalle ver Anexo A).
En la Figura 4.26 se muestra la Ventana Propiedades de Entrada la cual despliega al hacer
Doble clic sobre uno de Los Bloques de .
A
B
C
A
101




Figura N 4.26: Edicin de Propiedades para una Entrada

Si bien las F.Ps de las Entradas estn sujetas a ser Trapezoidales, es posible darles una
triangular. En la figura 4.27 se muestra el Resumen de las formas posibles que se pueden
configurar.

Las Formas Trapezoidales se forman cuando:
1. La ubicacin de un Punto de Esquina es distinta a todas las dems.
2. La ubicacin de los Puntos de Esquina (1) y (2) son iguales y las restantes distintas.
3. La ubicacin de los Puntos de Esquina (3) y (4) son iguales y las restantes distintas.

Las Formas Triangulares se forman cuando:
1. La ubicacin de los Puntos de Esquina (1) (2) y (3) son iguales y la (4) es distinta.
2. La ubicacin de los Puntos de Esquina (2) (3) y (4) son iguales y la (1) es distinta.
Campo para Insertar, Eliminar y
Seleccionar FP.
Parametrizacin
de FP.
Campo para Escribir el Nombre de la
Entrada a la que se le asocian las FP.
Visualizacin
de las FP.
Rango de
variacin de la
Entrada
102

3. La ubicacin de los Puntos de Esquina (2) (3) son iguales y las (1) y (4) es distinta.


Figura N 4.27: Resumen de Formas de Funciones de Pertenencia

Nota: Es posible Parametrizar las F.P. de forma grfica, arrastrando un Punto de Esquina a
la posicin deseada.

4 . 3 . 3 Edicin de las Propiedades de las Salidas Difusas

Primero que todo hay que recordar que el Control Difuso estructurado a travs de de Fuzzy
Programming Language permite slo Funciones de Pertenencia (FP) de tipo Singleton
(para ms detalle ver Captulo 2) para las salidas.
103

En la Figura 4.28 se muestra la Ventana Propiedades de Entrada la cual despliega al hacer
Doble clic sobre el Bloque de C .



Figura N 4.28: Edicin de Propiedades de Entradas Difusas

Es importante definir como se comportar la salida si es que no existe Regla Activa. Este
caso se da cuando Los valores que ha(n) tomado la(s) entrada(s) no coinciden con el
Consecuente de alguna Regla existente. Esto debe ser tomando en cuenta, ya que si no se
determina el comportamiento se puede llegar a la inestabilidad del Sistema. Para solucionar
este problema se tienen dos alternativas:

Mantener el ltimo Valor de Salida: Si se selecciona esta opcin, el Valor de Salida
vendr dado por la ltima Regla Activa.

Fijar un Valor de Salida Constante: Si se selecciona esta opcin, el Valor de Salida est
dado por un valor constante que se introduce en el campo Output Value.

Campo para Insertar, Eliminar,
Seleccionar y Renombrar FP.
Set Valor Activacin
Singleton.
Campo para Escribir el Nombre de la
Salida a las que se le asocian las FP.
Rango de
variacin de
la Entrada
Visualizacin
de las FP.
Parametrizacin de
comportamiento de
Salida.
104

4 . 3 . 4 Edicin de las Reglas Difusas

En la figura 4.29 se muestra la ventana de edicin de reglas.

En la tabla de reglas difusas se encuentran almacenadas todas reglas que relacionan la(s)
entrada(s) con la(s) salida(s) del sistema difuso. Cada regla est declarada en forma de
columna y denotada por un nmero (recordar que el nmero mximo de reglas disponibles
depende del sistema destino).

En el campo de edicin se permite:

- Cortar y pegar en otra posicin cualquier regla existente.
- Agregar o eliminar una regla.
- Eliminar columnas vacas de la tabla (Compress)
- Cambiar la representacin de reglas desde Tabla de Reglas a una Matriz de Reglas
(Matrix). La representacin matricial puede llegar a ser una forma ms clara en el
momento de crear las reglas, debido a que se pueden ver de inmediato todas las
combinaciones posibles. En la figura 4.30 se puede observar el editor matricial de
reglas difusas.
105


Figura N 4.29: Editor de Reglas Difusas en forma de Tabla


Figura N 4.30: Editor de Reglas Difusas en forma Matricial


Tabla de Reglas Difusas
Campo de
Edicin
106

4 . 3 . 5 Acti vi dad de Regl a (Rule Acti vity)

La ventana Actividad de Regla se muestra en la figura 4.31 y tiene como objetivo observar
de manera grfica la actividad de cada regla asociada a una salida seleccionable ilustrando a
la vez la desfusificacin, utilizando el mtodo del centroide.

El eje horizontal representa el rango de valores no-difusos de la seal de salida el cual se
obtiene por medio de la desfusificacin. El nmero en la barra indica la regla que est
actualmente activa, su altura corresponde con el nivel de actividad y la posicin de la barra
corresponde a la posicin de la funcin de pertenencia (singleton). Bajo el eje horizontal
se indica el valor no-difuso de la seal de salida (desfuzzyficado) que pertenece al valor
no-difuso de la entrada. En conjunto con las columnas, se puede contar con una impresin
visual de la desfusificacin por el mtodo del centroide imaginando un punto de apoyo en
el cual se balancean las columnas.

El eje vertical muestra la actividad de cada regla producida por la inferencia del sistema
difuso. Los valores mayores que 1 puede ocurrir debido a la inferencia SUM-MIN utilizada
en el sistema difuso. Es por ello que es posible definir el rango en que aparecen los
valores; 1, 2, 5 y 10.
107


Figura N 4.31: "Ventana de Actividad de Regla

Nota: Se debe tener activo el trazador de curvas si es que se est on-line y si se est off-
line, adems, se debe tener activado el generador de curvas para proporcionar una seal de
entrada que excite al controlador difuso, y por ende, a la actividad de las reglas difusas.

En el campo opciones de grfica el icono a la izquierda permite colorear la barra asociada a
una regla seleccionada, en el caso de que se tenga inters en una en particular. En la figura
4.32 a) se puede observar la ventana asociada al coloreado de una reglay en b) se observa
la grfica resultante de colorear la regla N1.

Nota: Keine significa No en Alemn, se refiere a no coloreado, es la opcin por defecto.
Indicador de la
Salida No-Difusa
Reglas Activas en
el tiempo
Salida asociada
a la Reglas en
Actividad
Rango del Eje
Vertical
Valores de
Inferencia de
cada regla
Opciones
de Grfica
108


Figura N 4.32: a) Ventana asociada al Coloreado de una Regla. b) Coloreado de la
Regla N1.

El icono a la derecha despliega informacin de las reglas asociadas a una FP salida
(Singleton). En la figura 4.33 se observa la ventana de informacin (Information).


Figura N 4.33: Ventana de Informacin

Para ver ms opciones de visualizacin vea la seccin 4.4.




a)
b)
FP de salida
Seleccionada
Entradas asociadas
a la Regla
Salida asociada a
la Regla
Reglas y Nivel de
Actividad de las
Reglas asociadas la FP
seleccionada
109

4 . 4 . Opciones de Visualizacin y Validacin comunes en
NEUROSYSTEMS y FUZZYCONTROL++
En la pestaa Test se encuentran todas las opciones para:
- Visualizar comportamientos de la red neuronal o de un controlador difuso a travs
del chequeo de la caracterstica de entrada y salida.
- Validar el sistema, mostrando resultados de distintas maneras.
A continuacin se analiza cada una de estas opciones.














110

4 . 4 . 1 Representacin Grfica 3-D (3-D Representation)
La ventana Representacin Grfica 3D se muestra en la figura 4.34 y tiene como objetivo
visualizar la caracterstica de entrada/salida de dos entradas y una salida de una red
neuronal o un controlador difuso en una representacin tridimensional. Las entradas son
asignadas a los ejes o , y la Salida al eje .
Es posible visualizar el campo desde varias perspectivas debido a que es posible rotar la
grfica de manera horizontal y vertical.
Si el sistema cuenta con ms de dos entradas y/o ms de una salida, se pueden seleccionar
cuales son las entradas y la salida que se quieren graficar. De esta manera es posible
visualizar las distintas relaciones entrada-salida en distintas ventanas de Grfico 3-D.


Figura N 4.34: Ventana Representacin 3-D
Seleccin de las
Entrada a visualizar
Opciones de
Grfica
Seleccin de la
Salida a visualizar
111

A continuacin se describe el campo de Opciones de Grfica que se destaca en la figura
4.34. Estas opciones son alternativamente accesibles desde la pestaa Grficas 3-D (3-D
Graphics). Los tems que contiene son los siguientes:
Lmites de Pantalla (Display Limits): Con esta opcin es posible cambiar los lmites
visualizados en la grfica pudiendo as ampliar o reducir los rangos de cada entrada y
salida. En la figura 4.35 se muestra la ventana asociada a esta opcin.



Figura N 4.35: Ventana Limites de Pantalla

Encendido/Apagado de Animacin (Animation on/off): En las opciones de animacin se
puede configurar que la grfica gire en torno a su eje de manera continua, este ngulo de
rotacin va desde 1 a 45.
Una opcin interesante de este tem es la Representacin 4-D (4-D Representation) la cual
permite ver la influencia de una tercera seal de entrada sobre la caracterstica
entrada/salida de un controlador neuronal. El grfico es calculado repetidamente con los
Seleccin del Rango a
visualizar de cada I/O
Volver a los valores
Originales de
Visualizacin
Actualizacin de
Grfica a los valores
seleccionados
112

sucesivos valores de esta tercera entrada, que es considera como un parmetro. De esta
manera, se obtiene una impresin indirecta de una Cuarta Dimensin. En la figura 4.36 se
muestra la Ventana Parmetros de Animacin.
Nota: Slo se podr activar la representacin 4-D cuando se tenga ms de dos entradas.

Figura N 4.36: Parmetros de Animacin
Parametrizar Entradas (Input Parameters): En muchos proyectos se pueden llegar a
manejar ms de tres variables, si se desea incluir la influencia de cierta seal de salida en la
grfica, se puede realizar mediante la asignacin de un valor numrico a cada una de estas
entradas. En la figura 4.37 se muestra la Ventana Parmetros de Entrada.

Figura N 4.37: Ventana Parmetros de Entrada
Seleccin del
ngulo de rotacin
Seleccin del refresco
de valores de la tercera
entrada
Seleccin de la tercera entrada
para representacin 4-D
Valores asignados
a las Entradas
Ir a Entradas
Superiores
Ir a Entradas
Inferiores
113

Punto de Trabajo Actual (Actual working point): Esta opcin permitela representacin
del punto de trabajo actual para el valor actual de cada entrada y son los ltimos 200
valores los cuales pueden visualizarse en la representacin 3-D. En la figura 4.38 se puede
observar un ejemplo de la utilizacin de esta herramienta. El valor actual se muestra como
una barra que recorre la superficie de la grfica valor. La punta de la barra indica el valor
actual de salida, mientras que el punto en el plano xy que toca la barra indica el punto en
donde se encuentran operando las entradas. En el ejemplo se puede observar que el valor
actual de la salida que es 100 (indicado por la punta de la barra) y el valor de la entrada es -
100 (se omite el ejey ya que no es una entrada).
La opcin Punto de Trabajo Actual solo es posible en dos casos:
En lnea: El trazador de curvas (Curve Plotter) debe estar activo y haber establecido la
comunicacin con el sistema destino.
Fuera de Lnea: El trazador de curvas y el generador de curvas (para generar una seal de
entrada) deben estar activos.

Figura N 4.38: Ejemplo de utilizacin del Punto de Trabajo Actual
Barra Indicadora del
Punto de Trabajo
Botn de
habilitacin
Rastro dejado por los
valores recientemente
registrados
114

4 . 4 . 2 Trazador de Curvas (Curve Pl otter)
La ventana del trazador de Curvas (Curve Plotter) se muestra en la figura 4.39 y permite las
siguientes opciones:
- Desplegar grficamente hasta cuatro seales de entrada o salidas arbitrarias.
- Observar las seales I/O On-Line. Esto slo es posible con los sistemas S7, PCS7 y
OPC, ya que WinCC y ActiveX no permite conectividad directa entre el programa
cargado en el PLC y NEUROSYSTEMS/FUZZYCONTROL++.
- Archivar la curva de datos en el disco duro para leerlo de nuevo cuando sea
necesario.
- Realizar un anlisis fuera de lnea de la respuesta de la red neuronal o sistema
difuso, gracias a su generador de curvas.
- Visualizacin de valores cuando el trazador est en Stop a travs del mouse.


Figura N 4.39: Ventana Trazador de Curvas
Opciones de
Curva
Visualizadores
de Estado
Entrada
Simulada
Seal de
Respuesta
115

En el campo de Visualizacin de Estados destacado en la figura 4.39 se observa si el
sistema est on-line (si el telfono est en rojo) u off-line (si est en amarillo). Y a la
derecha de este se observa si el archivado en disco est en on o en off.
A continuacin se describe el campo de Opciones de Curva destacado en la figura 4.39.
Los tems que contiene son los siguientes:
1. Play/Stop Recording: Permite comenzar/parar el trazado y la grabacin de los
datos de la grfica en lnea (seal obtenida directamente del PLC) o fuera de lnea
(seal obtenida del generador de curvas).
2. Opciones de Curva (Curve Settings): Se encuentran las opciones bsicas para
visualizar las curvas. En la figura 4.40 se observa la ventana y se detallan las
opciones disponibles. Las variables pueden ser agrupadas en un set de variables que
tendrn un eje en comn. Por ejemplo, se pueden formar grupos para las entradas y
otro para las salidas.

Figura N 4.40: Opciones de Curva
Grupo de variables
seleccionadas
Parmetros de
Grupo
Color del eje y del Set
de variables
Grupo de
Variables
Disponibles
Largo de la curva
en segundos
116

En la figura 4.40 se destaca el campo Parmetros de Grupo en la cual se puede acceder a la
opcin configuracin de curva y campo de valores, las cuales se describen a continuacin:

a) Configuracin de Curva (Curve Set): Esta opcin permite:
- Editar el nombre de grupo.
- Insertar seales al grupo.
- Definir manual o automticamente (AutoMinMax) un lmite superior e inferior para
el eje y del grupo
- Elegir un color bsico y personalizado en la opcin Gradiente de Color (Color
Gradient) al eje del grupo y a cada seal.
La ventana Configuracin de Curva se muestra en la figura 4.41.

Figura N 4.41: Ventana Configuracin de Curva


Seales
Seleccionadas
para el grupo
Nombre del
Grupo y color de
su eje y
Seales
disponibles para
el Grupo
Parmetros del eje
y de las Seales del
Grupo
117

b) Campo de Valores (Value Field): Esta opcin permite:
- Seleccionar seal de entradas y/o salidas para visualizar su valor en tiempo real
sobre la ventana del trazador de curvas. En la figura 4.43 se muestra el resultado de
esta operacin.
La ventana Configuracin de Curva se muestra en la figura 4.42.

Figura N 4.42: Ventana Configuracin de Curva

Figura 4.43: Visualizacin de Valores en Tiempo Real
Grupos
Disponibles
Seales
Seleccionadas para
Visualizacin su
valor en Tiempo
Real
Visualizacin de Valores en
Tiempo Real de las Seales
Seleccionadas
118

3. Opciones de Archivado (Archive Settings): Esta opcin ofrece la posibilidad de
guardar un archivo de datos en forma permanente en un computador de extensin
.arv. Tambin permite abrir archivos ya existentes que se visualizan en el trazador
de Curvas con un ajuste automtico del rango de valores. En la figura 4.44 se
muestra la ventana de opciones de archivado. El nmero mnimo de grabaciones
deben ser 10 y el mximo 100.000.

Figura N 4.44: Ventana de Opciones de Archivado.








Mximo de datos
grabados
Habilitacin de
Archivado en Disco
Seleccin de un
archivo existente
Tiempo de Muestreo
del Archivado
119

4. Generador de Curvas (Curve Generator): Esta opcin permite simular diferentes
tipos de entradas asociadas a una red neuronal, pudiendo as testear la caracterstica
entrada/salida sin necesidad de depurarla en un sistema real. En la figura 4.45 se
muestra la Ventana Generador de Curvas.

Figura N 4.45: Ventana asociada al Generador de Curvas
La opcin Constante (Constant) permite definir un valor constante de excitacin para una
entrada de una red neuronal entre los valores lmites fijados anteriormente.
La opcin Mximo (Maximum), Nulo (Null) y Mnimo (Minimum) permiten definir un
valor constante que equivale al lmite inferior, cero y el lmite superior del rango de la
variable de entrada respectivamente para la excitacin de una entrada de una red neuronal.
La opcin Curva (Curve) permite generar una seal de excitacin triangular senoidal, la
cual puede ser personalizada. En la figura 4.46 se muestra la ventana Parmetros de
Curva (Curve Parmeters) y se detallan los parmetros configurables.
Seleccin de la
Seal a generar
120


Figura 4.46: Parmetros de Curva de Excitacin
Es posible aadir ruido aleatorio que envuelve a la seal de entrada y los parmetros son:
Atenuacin (attenuation): Es posible atenuar el ruido para que este no afecte en demasa a
la seal.
Envoltura Positiva: Limite positivo del ruido sobre la seal.
Envoltura Negativa: Limite negativo del ruido bajo la seal.
En la Tabla 4.4 se definen cuatro parametrizaciones (sin ruido) de ejemplo, las cuales se
pueden visualizar en la figura 4.47.


Amplitud Mxima y
Mnima de la Seal N de veces que se
introduce una seal
triangular
Relacin del Flanco de
Subida con respecto al
periodo total de la Seal
Angulo de fase de la
curva (punto en que se
comienza a generar)
Tipo de Curva
Opciones de
Distorsin de Seal
121

Nmero de Ciclos
(Number of Cycles)
Relacin de Aspecto [%]
(Aspect Ratio)
Angulo de Fase[%]
(Phase Angle)
a) 1 70 0
b) 1 30 0
c) 1 50 20
d) 1 50 35
Tabla 4.4: Ejemplos de Parametrizacin de Curva


Figura N 4.47: Ejemplos de Parametrizacin de Curva
4 . 4 . 3 Diagrama de Error (Error Diagram)
La ventana Diagrama de Error se muestra en la figura 4.48 y tiene como objetivo
proporcionar un examen visual del xito del aprendizaje. Para cada conjunto de datos de
aprendizaje y validacin, el error relativo se muestra como una columna.

a) b)
c) d)
122

El clculo del error de cada conjunto de aprendizaje y validacin se calcula como la norma
euclidiana de la desviacin de los vectores de salida normalizados que se han de comparar.
Un pequeo error relativo con un determinado conjunto de datos de aprendizaje equivale a
la red con un mejor entrenamiento.
Como se puede observar en la Figura 4.48 la red neuronal responde con un bajo porcentaje
de error respecto a los primeros datos de aprendizaje, luego el error fue mximo en el dato
80 del archivo de datos de aprendizaje, lo que implica que la red no responda bien a ese
dato y a su alrededor.

Figura N 4.48: Ventana Diagrama de Error
4 . 4 . 4 Representacin Vectorial (Vector Representation)
Antes de poder utilizar esta herramienta es necesario conocer la opcin Seleccin de
Archivo (File Selection) dentro de la ventana Test. Esta alternativa nos permite cargar un
Archivo de Datos para Prueba (Los formatos compatibles son *.dat y *.arv), el cual tiene la
123

misma estructura de un archivo de datos. Este archivo es utilizado por las opciones de
Representacin Vectorial y Representacin de Seal.
La ventana Representacin Vectorial se muestra en la figura 4.49 y tiene como objetivo
observar los vectores de entrada o salida del Archivo de Prueba y compararlos con la salida
real del sistema. Si se muestran los vectores de salida del archivo de prueba, estos sern
comparados con los vectores de salida calculados por la red neuronal. Los vectores de
salida del archivo de prueba son de color amarillo y los vectores de salida generados por la
Red Neuronal como una respuesta a los vectores de entrada de prueba se muestra en rojo.


Figura N 4.49: Ventana Representacin Vectorial
4 . 4 . 5 Representacin de Seal (Signal Representation)
La ventana representacin de seal se muestra en la figura 4.50 y tiene como objetivo
observar grficamente la secuencia cronolgica de cada seal de entrada o salida, de
Vector que se Desea
Visualizar
Vectores de salida del
archivo de prueba
Vectores de salida
generados por el
Sistema Difuso
124

acuerdo al archivo de datos de prueba. La curva de la seal es interpolada linealmente entre
los valores de los puntos en el tiempo (valores de muestreo).

En el caso que se desee representar una seal de entrada, como en las figuras 4.50 a) y b), la
seal es trazada con color amarillo. En el caso de representar una seal de salida como en la
figura 4.50 c) la seal de salida del archivo de prueba se traza en color amarillo y la seal
de salida calculada por la red neuronal o controlador difuso se muestra en rojo.

La ventana de representacin de la seal se puede abrir varias veces, por tanto, ofrece una
visin general de las relaciones de todas las seales de entrada a una seal de salida.

Figura 4.50: a) y b) Ventana de Representacin de las Entradas 1 y 2 respectivamente
c) Ventana de Representacin de la Salida

Salida -Archivo de
Prueba
Salida-Controlador
a)
b) c)
125

Captulo 5: Plan de Trabajo

Con el objetivo de aplicar todo el conocimiento adquirido en sistemas de control inteligente
realizaremos el diseo e implementacin de distintos controladores inteligentes para
realizar una evaluacin prctica de su comportamiento en un estanque. Para ello se debe
definir:
- La Estrategia de Control: Define las variables de inters que permitan realizar el
respectivo control.
- Los Mtodos: Herramientas e instalaciones que permitan la puesta en marcha de la
experiencia.
- Procedimientos de Diseo: Pasos necesarios para el diseo de cada controlador.















126

5 . 1 Estrategia de Control
La estrategia de control aplicada un estanque de agua, consiste en minimizar el error entre
el set point deseado y el nivel actual del agua del estanque (variable de proceso, V.P). Para
ello se utiliza como entrada al controlador el error antes mencionado, y como salida se
obtiene una accin de control sobre la vlvula que permite manejar la apertura de la vlvula
(variable manipulada). El esquema de control en lazo cerrado asociado al estanque de nivel
se muestra en la Figura 5.1.
Figura N 5.1: Esquema de Control en Lazo Cerrado utilizado








127

5 . 2 Mtodos
Para realizar la implementacin se utilizar la maqueta de control de nivel existente en el
laboratorio de control de la Universidad del Bo-Bo. El diagrama de proceso e
instrumentacin (P&ID) se muestra en la figura 5.2 y se especifica su instrumentacin en la
Tabla 5.1. Los Softwares utilizados y su funcin se especifican en la Tabla 5.2.

Figura N 5.2: P&ID asociado a la Maqueta de Control de Nivel

Tag Funcin Especificacin
LX-01 Computador Supervisor PentiumCore2Duo
LIC-01 Controlador de Nivel PLC S7-300
LT-01 Sensor de Nivel Sensor Ultrasnico ULM55-06 (420mA)
LV-01 Vlvula de Nivel Danfoss (4.20mA)
HV-01 Vlvula Manual Vlvula de Bola
Tabla N 5.1: Instrumentacin asociada con la Maqueta de Nivel
128

El estanque de nivel (TK-01) mide 62x29x24 cm (el valor de altura est referenciado al
Intervalo que ser controlado).
Software Funcin
Step 7 V5.3 - Cargar el Programa de Usuario el cual permite la adquisicin y
escalamiento de la V.P Nivel(desde el Sensor de Nivel) y se
lo resta al Set Point.
- Transferir el valor de la variable manipulada % de Apertura
Vlvula a la Salida Analgica del PLC.
WinCC 6.0 V6.0 SP1 - Proporcionar una Interfaz Hombre-Mquina (HMI) dando la
posibilidad de Ingresar el Set Point.
- Vincular el Archivo .nsl el cual contiene la Estructura de la RNA
con Neuro.oll para que este ejecute el Algoritmo necesario para
obtener la Salida de la RNA (%Apertura de la Vlvula)
- Transferir el V.P de proceso al PLC.
FUZZYCONTROL++ - Visualizar y Evaluar el comportamiento de un Controlador
Difuso realizado con el estndar Fuzzy Programming
Language.
NEUROSYSTEMS
V5.1
- Puede generar tres tipos de Redes: Perceptrn, RBF o Neuro-
Difuso.
- Entrenar cualquiera de estos tipos de Redes.
- Generar el archivo .snl vinculable a Neuro.oll en WinCC (si se
utiliza el Sistema Destino WinCC).
Tabla N 5.2: Softwares utilizados en el Diseo e Implementacin





129

5 . 3 Procedimiento del Di seo de l os Controladores

Como se coment en el captulo 3, en control existen dos casos de uso de un sistema neuro-
difuso, los cuales se describen a continuacin:
Caso I: Modelo difuso que no es suficientemente preciso, es optimizado por una red
neuronal.
Caso II: Proceso del cual se tiene muy poco conocimiento para formar un sistema difuso
pero se tiene una serie de datos de medicin disponible.
Los experimentos que se realizarn, estarn relacionados con el caso I, ya que se tiene
cierta nocin del comportamiento del estanque en funcin del flujo de entrada, por lo tanto
para implementar el controlador inteligente para este caso se realiz el siguiente
procedimiento:
1. Controlador Difuso: A partir del conocimiento del comportamiento del estanque de
nivel se disear la base de conocimiento, nmero de funciones de pertenencia de la o
las entradas y la o las salidas definidas de un controlador difuso a travs de la
utilizacin del estndar Fuzzy Programming Language. El cdigo es escrito en un
archivo txt el cual se deja con la extensin .fpl. Para ms informacin del estndar vea
Anexo A.

2. Controlador Neuro-Difuso: A partir del comportamiento observado de la planta por el
control difuso se formar un set de datos de aprendizaje que optimice el funcionamiento
del controlador, y al mismo tiempo transformar el controlador difuso en una estructura
neuro-difusa a travs de la importacin del archivo *.fpl a NEUROSYSTEMS en donde
se proceder cargar y entrenar la red generada. El sistema neuro-difuso ser
transformado nuevamente en un controlador difuso a travs de la exportacin a un
archivo .fpl el cual puede ser ledo por FUZZYCONTROL++ (Demo) con el objetivo de
130

analizar los cambios realizados por el entrenamiento en la base de reglas, y funciones de
pertenencia de las entradas y salidas.

3. Controlador Neuro-Difuso Multivariable: Se realizar una modificacin en el
controlador neuro-difuso, el cual consiste en incluir una segunda entrada al controlador.
La nueva entrada ser el porcentaje de apertura de la vlvula manual la cual se espera
optimice an ms el comportamiento del controlador.

131

Captulo 6: Diseo, Pruebas y Resultados

Como la evolucin del controlador difuso al controlador neuro-difuso, y finalmente al
controlador neuro-difuso multivariable, depende directamente de los resultados obtenidos
en cada controlador, el diseo y anlisis de cada uno de ellos se concentra en este captulo.
Durante las pruebas realizadas a cada controlador se podrn observar diversos problemas
que afectan su performance, lo cual conllevarn a una mejora de este.




















132

6 . 1 Control ador Di fuso

6 . 1 . 1 Diseo del Control ador Difuso

Para el diseo del controlador se utiliz la experiencia intuitiva de cmo debera
comportarse la apertura de la vlvula en funcin del error. Tomando en cuenta esto se
puede resumir el comportamiento en tres situaciones:

1. Error Positivo: Esto significa que el nivel actual del agua est sobre el set point y
por lo tanto la vlvula debe permanecer cerrada.

2. Error Negativo: Esto significa que el nivel actual del agua est bajo el set point y
por lo tanto la vlvula debe abrirse en un 100% cuando error es muy negativo y a
medida que disminuye el error se va cerrando.

3. Error Cero: Esto significa que el nivel actual es igual al set point y por lo tanto la
vlvula debe cerrarse.

En funcin de este conocimiento se forman las F.P de la entrada que tendrn formas
triangulares y las F.P de salida (singletons) que se muestran en la Tabla 6.1.
La disposicin grfica de las F.P de las entradas se muestra en la figura 6.1 a) y en la figura
6.1 b) se muestran las F.P de la salida.
Las reglas generadas son las siguientes:
Regla 1: Si el Error es NG Entonces % Apertura es Cien. (Inferida de la Situacin 2)
Regla 2: Si el Error es NP Entonces % Apertura es Alto. (Inferida de la Situacin 2)
Regla 3: Si el Error es Nulo Entonces % Apertura es Cero. (Inferida de la Situacin 3)
Regla 4: Si el Error es PP Entonces % Apertura es Cero. (Inferida de la Situacin 1)
Regla 5: Si el Error es PG Entonces % Apertura es Cero. (Inferida de la Situacin 1)
133

Como se puede observar hay funciones de pertenencia de la salida que no se utilizan, esto
se debe al requerimiento que viene dado implcitamente por el comportamiento deseado en
la apertura de la vlvula.

Funciones de Pertenencia Abreviacin
Entrada (Error)
Rango: -100 a 100
Tipo de F.P: Triangulares
Negativo Grande NG
Negativo Pequeo NP
Nulo Nulo
Positivo Pequeo PP
Positivo Grande PG

Salida (% Apertura)
Rango: 0 a 100%
Tipo de F.P: Singleton
Cero Cero
Bajo Bajo
Medio Medio
Alto Alto
Cien Cien
Tabla N 6.1: Funciones de Pertenencia de la Entrada y Salida

134


Figura N 6.1: a) Disposicin de las F.P de la Entrada (Error) b) Disposicin de las
F.P de la Salida (Apertura Vlvula)

6 . 1 . 2 Validacin del Controlador Difuso
Para la validacin del controlador anteriormente estructurado, utilizaremos las
herramientas de FUZZYCONTROL++ Representacin Grfica 3D para observar la
superficie generada por el controlador en todo el rango de medicin de la entrada, el
Trazador de Curvas para realizar un anlisis en tiempo real del controlador, excitando
al controlador con una seal de entrada y finalmente la herramienta Actividad de Reglas
para visualizar cmo interactan las reglas en la respuesta del controlador.
En la Figura 6.2 se puede observar la superficie de relacin entrada-salida en donde:
- El eje x representa el error entre el nivel actual y el nivel deseado (set point).
- El eje y no tiene significancia (slo permite graficar en 3-D).
- El eje z representa la apertura de la vlvula de nivel en porcentaje.
Como el porcentaje de apertura de la vlvula es de un 100% cuando el error es mximo
negativo (lo que significa que el nivel est muy por debajo del set point). A medida que
el error disminuye, tambin comienza a disminuir el porcentaje de apertura de la
vlvula en forma lenta, y cuando el error comienza a ser pequeo, la apertura de la
vlvula comienza a cerrarse con mayor rapidez con respecto al error. Finalmente
a) b)
135

cuando el error es nulo o positivo, el porcentaje de apertura de la vlvula es nulo
(vlvula completamente cerrada).

Figura N 6.2: Superficie generada por el Controlador Difuso
En la figura 6.3 se puede observar el comportamiento del controlador difuso, ante una
entrada (Error) tipo rampa. El porcentaje de apertura de la vlvula est representado por
la curva de color rojo, mientras que el error est representado por una entrada tipo
rampa en la curva de color amarillo. Como se puede observar el comportamiento del
controlador cumple con la superficie antes analizada y como se muestra en la figura 6.3
a) en el lado superior izquierdo cuando el error es cero, el porcentaje de la vlvula
tambin. En la figura 6.3 b) se aplica un ruido envolvente de +/- 2% el cual no produce
mayores incidencias en la respuesta.


136


Figura N 6.3: a) Respuesta del Controlador ante una Entrada tipo Rampa sin
ruido
b) Respuesta del Controlador ante una Entrada tipo Rampa con Ruido
En la figura 6.4 y 6.5 se observa cmo interactan las reglas en funcin de la seal de
excitacin del controlador. La recta vertical amarilla se traslada hacia los puntos en donde
se producen las transiciones entre las reglas puntos de operacin del controlador para as
observar las transiciones de las reglas desde que slo la Regla 1 est activa cuando el error
es negativo grande pasando por la Reglas 3 cuando el error es nulo hasta que se llega a
cumplir slo la Regla 5 en donde el error es positivo grande.
a) b)
a) b)
137


Figura N 6.4: Transiciones entre las Reglas Difusas en funcin del Error
138


Figura N 6.5: Continuacin Transiciones entre las Reglas Difusas en funcin del Error
139

6 . 1 . 3 Pruebas y Resultados del Controlador Difuso
A continuacin se muestran las respuestas del controlador aplicado a la maqueta de control
de nivel en distintos puntos de operacin.
Como se tuvo problemas con la licencia de FUZZYCONTROL++, para probar el sistema
difuso se tuvo que importar el archivo .fpl en NEUROSYSTEMS, lo cual significa
transformar el controlador difuso en una red neuro-difusa. Los comportamientos del
controlador difuso y el neuro-difuso son prcticamente equivalente si este ltimo no ha sido
entrenado an. La conversin produce una suavizacin de la respuesta debido a que la red
neuro-difusa transforma las funciones de pertenencia triangulares en funciones de
activacin gaussianas. En la figura 6.6 a) la superficie generada por el controlador difuso, y
en la figura 6.6 b) se observa la superficie producto de la conversin a una red neuro-difusa.

Figura N 6.6:Conversin de Controlador Difuso a una Red Neuro-Difusa
El rea destacada 1 en la figura 6.6 b) nos indica un sector crtico el cual se ve afectado por
el suavizado de la superficie. Viendo la superficie se puede predecir que la vlvula no se
cerrar cuando el error sea nulo sino hasta cuando el nivel est un 25% (15.5 cm) ms
arriba del nivel deseado.
En la parte superior de la figura 6.7 a) se puede observar la respuesta de la variable de
proceso Nivel ante un set point del 25%, como se puede ver, el tiempo en llegar al valor
a) b)
1
140

deseado sobrepasa los 60 segundos. Finalmente el tiempo de respuesta fue de 70 segundos
y como se mencion anteriormente y se puede confirmar en la figura 6.7 b), la vlvula no
se cerr y qued con un 1% de apertura aproximadamente.

Figura N 6.7: Respuesta del Sistema a la Seal de Control en un S. P. de 75%
6 . 1 . 4 Problemas Detectados
A continuacin se enumeran los problemas detectados en el controlador difuso:
1. La vlvula se comienza a cerrar cuando el error es demasiado grande, lo que
produce un tiempo respuesta bastante lento.
2. Producto de lo anterior se produce un segundo problema, el cual se manifiesta
cuando se comienza a abrir la vlvula manual, provocando que el controlador
nunca lleve a la variable de proceso al valor deseado.
3. Producto de la conversin se pierde precisin cuando el error es cero, el cual es un
punto crtico para la performance del controlador.


a)
b)
141

6 . 2 Control ador Neuro-Di fuso
Debido a los problemas detectados anteriormente se proceder a la optimizacin del
controlador difuso a travs de su transformacin a una neuro difusa (NFN) utilizando el
software NEUROSYSTEMS. Esta transformacin se lleva a cabo con la importacin del
archivo .fpl que define la estructura del Controlador Difuso a NEUROSYSTEMS. Por lo que
de ahora en adelante el Controlador Difuso se pasar a llamar Controlador Neuro-Difuso.
La red neuro-difusa ser entrenada con un archivo de datos de aprendizaje que tiene como
objetivo forzar el comportamiento que se desea, aceptando un error del 1%
. El contenido de este archivo de datos aprendizaje se resume a continuacin:
- Cuando el error es mayor a -10%, la vlvula estar abierta en un 100%.
- Cuando el error es menor a -10%, el porcentaje de apertura de la vlvula comenzar a
disminuir gradualmente hasta 0% de apertura cuando el error es nulo.
- Cuando el error es positivo la vlvula estar cerrada.










142

6 . 2 . 1 Anli sis del Aprendizaj e realizado por el Controlador Neuro-
Difuso

Durante el aprendizaje, el error que se minimiza es el error cuadrtico medio entre la salida
deseada y la verdadera salida del controlador. Es esta evolucin la que se muestra en la
figura 6.8 a). En la figura 6.8 b) se puede observar a travs de la herramienta Diagrama de
Error, el error en cada par de datos del archivo de aprendizaje.
Como se puede observar en la figura 6.8 b) el sector en donde hay mayor concentracin de
error se produce alrededor del centro del archivo de aprendizaje. Esto coincide con el dato
que requiere 0% de apertura de la vlvula y a la vez donde se producen los mayores
cambios de apertura de la vlvula. Una de las razones por la que sucede esta situacin es
que algoritmo de aprendizaje se queda Dormido producto del aprendizaje de la cantidad
de datos que debe aprender, en nuestro caso en particular el 40% de los datos tienen como
salida 100% de apertura, un 50% de datos que tienen como salida 0% de apertura y slo un
10% de los datos producen una salida gradual del % de apertura de la vlvula.
Sin embargo error que se produce en este sector no llega a ms all de un 4% a excepcin
de un peack en el dato que no afecta mayormente al comportamiento que se desea.
El punto crtico ocurre cuando el set point es igual al nivel ya que el Diagrama de Error
nos dice que la vlvula no est 100% cerrada, lo que producir que exista una discrepancia
entre el valor de estabilizacin del controlador y el set point cuando la vlvula manual est
completamente cerrada.
143


Figura N 6.8: a) Grfica de evolucin del error durante el aprendizaje
b) Grfica del Error en un dato del Archivo de Aprendizaje
6 . 2 . 2 Validacin del Controlador Neuro-Difuso
En la figura 6.9 a) y b) se muestra la nueva superficie para el controlador neuro-difuso,
generada despus de su entrenamiento.
En la figura 6.9 a) se destacan dos puntos los cuales presentan las siguientes anomalas:
El punto 1 muestra dos peack positivos que sobrepasan el 100% de apertura de la vlvula,
que para efectos prcticos no tendrn influencias. Con la ayuda del Trazador de Curva, se
observa que estos peack no sobrepasaban el 1%
El punto 2 muestra un peack negativo el cual produce una apertura negativa de la vlvula,
que para efectos prcticos no tendrn influencias. Con la ayuda del Trazador de Curva, se
observa que estos peack no sobrepasaban el 1.25%. Dentro de este mismo punto se puede
confirmar lo que se anticip en la seccin anterior, la vlvula no se encuentra totalmente
cerrada cuando el error es nulo. Con la ayuda del Trazador de Curva, se observa que esta
discrepancia no supera el 2%.


b) a)
144



Figura N 6.9: a) y b) Superficie del Controlador Neuro- Difuso Entrenado
6 . 2 . 3 Pruebas y Resultados del Controlador Neuro-Difuso
En la parte superior de las figuras 6.10 y 6.11 se muestra la respuesta de la planta ante la
accin de control que se muestra en la parte inferior de las figuras, para un set point de 25,
50, 75 y 100% y una apertura de la vlvula manual de 35% aprox.
Como se puede observar en ninguno de los casos se observa un sobrepaso y tampoco
oscilaciones considerables de la variable de proceso en torno al set point (S.P.).
Tambin se puede decir que la accin de control proporcionada, funciona tal como se
pronostic con las simulaciones realizadas anteriormente. Por otro lado, el intento de
compensar la perturbacin (apertura de la vlvula manual), produce oscilaciones en la
accin de control 10 3% (% de apertura de la vlvula).
1
2
a)
b)
145

En la Tabla 6.2 se muestra el error en rgimen permanente, que en magnitud, no super el
0.75%, el tiempo de respuesta y tiempo estabilizacin los cuales eran iguales ya que no se
produjo sobrepaso, no superaron los 63 Segundos.

Figura N 6.10: a) Respuesta del Sistema a la Seal de Control en un S. P. de 25%
b) Respuesta del Sistema a la Seal de Control en un S. P. de 50%
a) b)
146


Figura N 6.11: a) Respuesta del Sistema a la Seal de Control en un S. P. de 75%
b) Respuesta del Sistema a la Seal de Control en un S. P. de 100%

Set Point (%) Tiempo de Respuesta
(Segundos)
Tiempo de Estabilizacin
(Segundos)
Error en rgimen
permanente (%)
25 60 60 0.4 (2.5cm)
50 60 60 0.47 (2.9cm)
75 63 63 0.5 (3.1cm)
100 60 60 0.75 (4.65cm)
Tabla N 6.2: Informacin de Respuesta del Controlador Neuro-Difuso
a) b)
147

Problemas Detectados
En los experimentos realizados previamente, el nuevo set point siempre era mayor que el
siguiente, en otras palabras, siempre se asignaron set point en forma creciente. Otra
condicin de los experimentos realizados era que la vlvula manual estaba en un 35% de
apertura. Sin embargo, la respuesta de la planta al dirigirse a un set point ms bajo que el
actual (en forma decreciente) con la vlvula manual 100% abierta baj su calidad
notablemente.
En la figura 6.12 a) se muestra la respuesta de la planta cuando bajamos desde un set point
de 100% a un set point de 75%. En ella se destacan dos puntos los cuales presentan las
siguientes situaciones:
En el punto 1 el controlador iguala el flujo de entrada con el de salida producindose un
error en rgimen permanente de 7% aproximadamente.
En el punto 2 se cierra la vlvula manual, accin que permite la estabilizacin del nivel en
el set point con un leve sobrepaso.


148


Figura N 6.12: Problema Detectado en Controlador Neuro-Difuso
6 . 2 . 4 Anli sis de las Modificaciones realizadas por el Aprendizaj e en
la Estructura Difusa

Una de las prestaciones del software NEUROSYSTEMS y FUZZYCONTROL++, es el
intercambio de datos que se puede realizar entre ellos.

Como se hizo anteriormente, el sistema difuso fue transformado a una estructura neuro-
difusa para optimizar el rendimiento del controlador, ahora se realizar el proceso inverso
para analizar los cambios realizados por el aprendizaje en la tabla de reglas difusas y en las
funciones de pertenencia de la entrada y la salida del controlador difuso. Para realizar este
proceso se debe exportar la estructura neuro-difusa en un archivo .fpl el cual puede ser
ledo por FUZZYCONTROL++.

En la figura N 6.12 y 6.13 se puede observar la estructura inicial del controlador difuso y
su nueva estructura producto del aprendizaje respectivamente.
1
a)
b)
2
149

Comparando la figura 6.12 a) y la 6.12 b), se puede ver cmo fueron modificadas las
funciones de pertenencia de la entrada error. Analizando las funciones de pertenencia nulo
y PP, estas se volvieron bastante ms traslapadas, esto se debe a que el consecuente
relacionada con ellas (medio y bajo) que se observan en la de la figura 6.13 b), se
acercaron en la misma medida, por lo que se puede concluir que las funciones nulo y PP se
podran unir en una sola funcin y sus consecuentes medio y bajo tambin, causando a la
vez la disminucin de una de las reglas.

En la figura 6.13 b) se puede observar en el desplazamiento que tuvieron las funciones de
pertenencia de la salida (singletons) Medio y Bajo lo que puede explicar los peack sobre el
100% y bajo el 0% de apertura de la vlvula observados en la superficie del controlador
neuro-difuso que se muestra en la figura 6.9.
A travs de esta experiencia se comprueba la utilidad de la lgica difusa para entender
cmo la red neuro-difusa soluciona los problemas que se le plantean.



Figura N 6.13: a) Funciones de Pertenencia asociadas al Error (Estructura Inicial)
b) Funciones de Pertenencia asociadas al % Apertura Vlvula (Estructura Inicial)
c) Tabla de Reglas Difusas (Estructura Inicial)


a) b)
c)
150



Figura N 6.14: a) Funciones de Pertenencia asociadas al Error (con Aprendizaje)
b) Funciones de Pertenencia asociadas al % Apertura Vlvula (con Aprendizaje)
c) Tabla de Reglas Difusas (con Aprendizaje)
















a)
b)
c)
151

6 . 3 Control ador Neuro-Di fuso Multivari able
Debido a los problemas detectados anteriormente se proceder a la optimizacin del
controlador neuro-difuso a travs de la incorporacin de una segunda entrada al
controlador. La nueva entrada ser el porcentaje de apertura de la vlvula manual la cual
esperamos optimice an ms el comportamiento del controlador. Transformndose en un
Controlador Neuro-Difuso Multivariable. En la figura 6.15 se observa la nueva
estrategia de control asociada a esta nueva estructura de controlador.

Figura N 6.15: Modificacin de la Estrategia de Control
A travs de experimentos realizados y de la figura 6.12 b), se concluye que el nuevo
comportamiento del controlador debe ser:

1. En las cercanas del error nulo, la apertura de la vlvula de nivel debe ser de
aproximadamente 63% para compensar una apertura de la vlvula manual del
100%. La apertura de 63% debe ir disminuyendo paulatinamente en funcin de la
apertura de la vlvula manual.

2. En la situacin en que el set point que se requiere es menor al actual, el controlador
neuro-difuso anterior, no realizaba ninguna accin de control excepto de mantener
la vlvula de nivel cerrada. Esto ser modificado, y la nueva forma de actuar del
152

controlador neuro-difuso multivariable ser que cuando el error sea de +3% y la
vlvula manual est 100% abierta, la vlvula de nivel se abra en un 50%. La
apertura de la vlvula de nivel debe ir disminuyendo paulatinamente en funcin de
la apertura de vlvula manual. Esta accin se espera que produzca una
compensacin de la perturbacin, minimizando el error en rgimen permanente.

La red neuro-difusa ser entrenada con nuevo archivo de datos de aprendizaje que contiene
estas nuevas modificaciones.

6 . 3 . 1 Anli sis del Aprendizaj e realizado por el Controlador Neuro-
Difuso

En la figura 6.16 a) se puede observar que el error mnimo al que se lleg fue de 3.18% a
pesar de que una de las condiciones de termino de entrenamiento era que el error llegara a
un 1%.
En la figura 6.16 b) se observa a travs de la herramienta Diagrama de Error, el error en
cada par de datos del archivo de aprendizaje. Como se puede inferir, el sector en donde hay
mayor concentracin de error se produce alrededor del centro del archivo de aprendizaje.
Esto coincide con el dato que requiere 0% de apertura de la vlvula y a la vez donde se
producen los mayores cambios de apertura de la vlvula. Una de las razones por la que
sucede esta situacin es que algoritmo de aprendizaje se queda Dormido producto del
aprendizaje de la cantidad de datos que debe aprender (al igual que en el caso anterior).
Al analizar los datos en que caen los mayores errores (aproximadamente 25% de error), se
concluye que son datos que no tienen mayor relevancia para el comportamiento de la
vlvula. Sin embargo, se tiene un fuerte impacto en la seal de control la cual
probablemente se ver sometida a algunas oscilaciones.
153



Figura N 6.16: a) Grfica de evolucin del error durante el Aprendizaje
b) Grfica del Error en un dato del Archivo de Aprendizaje

6 . 3 . 2 Validacin del Controlador Neuro-Difuso

En la figura 6.17 se muestra la nueva superficie para el controlador neuro-difuso
multivariable, generada despus de su entrenamiento. En donde:
- El eje x representa el error entre el nivel actual y el nivel deseado (set point).
- El eje y representa la apertura de la vlvula de nivel
- El eje z representa la apertura de la vlvula de nivel (Se realiz un Zoom a esta
variable quedando su rango de -20% a 20% para observar con mayor detalle el rea de
inters).
El rea 1 destacada en la figura 6.17 a) muestra el comportamiento de la vlvula de nivel
cuando la vlvula manual est completamente abierta (100%). Como se puede observar la
a) b)
154

vlvula de nivel se abre aproximadamente en un 50% (valor esperado) para luego ir
aumentando su apertura hasta aproximadamente un 70% cuando el error es Nulo.
El rea 2 destacada en la figura 6.17 a) muestra las oscilaciones que se predijeron con
anterioridad, que visualmente no parecen ser relevantes.
Esto confirma que el controlador se comportar como fue entrenado.


Figura N 6.17: Superficie del Controlador Neuro- Difuso Entrenado

6 . 3 . 3 Pruebas y Resultados del Controlador Neuro Difuso
Multivariable

Las pruebas realizadas a este controlador consistieron en probarlo en los valores extremos,
esto quiere decir cuando el S.P. baja de 100% a 75% (Prueba I) y cuando el S.P. baja de
25% a 0% (Prueba II). Las pruebas realizadas se muestran en la figura 6.18 y 6.19
respectivamente.

a) b)
1 2
155

En la tabla 6.3 se muestra la informacin asociada a cada prueba, de la cual se puede
concluir lo siguiente:
1. El error en rgimen permanente, en magnitud, no super el 4.5%, logrando un error
mnimo de 1.5%.

2. El tiempo de estabilizacin relacionado con este error no super los 75(s).


3. El tiempo de respuesta para la Prueba I fue de 45(s), sin embargo en la Prueba II no
se logr estimar este tiempo, debido a que el nivel nunca lleg al S.P.

Prueba Tiempo de Respuesta
(Segundos)
Tiempo de Estabilizacin
(Segundos)
Error en Rgimen
Permanente (%)
S.P. de 100% a 75% 45 75 -1.5(0.93cm)
S.P. de 25% a 0% - 65 +4.5(2.79cm)
Tabla N 6.3: Informacin de Respuesta del Controlador Neuro-Difuso

Como se puede observar en la figura 6.18 b), la seal de control se encuentra compensando
la perturbacin con un 73% de apertura aproximadamente, provocando as la estabilizacin
del error en -1.5% (2.79 cm). Este valor en comparacin con el controlador anterior es
bastante menor ya que se registraba un error de -7% (4.34 cm).
156


Figura N 6.18: a) Respuesta del Sistema ante un cambio de S.P. de 100% a 75%
b) Seal del Control calculada por el Controlador Neuro-Difuso
Multivariable

Figura N 6.19:Respuesta del Sistema ante un cambio de S.P. de 25% a 0%
a)
b)
157

6 . 3 . 4 Problemas Detectados
Se produce una variabilidad del error en rgimen permanente en funcin del S.P. pero se
puede asegurar que se encontrar entre -1.5 y +4.5, ya que las pruebas realizadas fueron
hechas en los extremos. Esto ocurre debido a que cuando la vlvula manual est
completamente abierta en un cambio de S.P de 100% a 75% (Prueba I), la tasa de cambio
del nivel es ms rpida que en un cambio de S.P. de 25% a 0%(Prueba II), ya que el peso
del agua en esta ltima situacin es menor que en la Prueba I, produciendo as un menor
flujo de salida.

6 . 4 Control ador PID

Un controlador PID (Proporcional, Integral y Derivativo) es otro mecanismo de control.
Aplica una accin de control segn la desviacin que exista entre un valor deseado y el
valor medido. Esta accin est compuesta de 3 distintas operaciones:

- Accin Proporcional: Es la multiplicacin entre la ganancia del controlador y
el error .


- Accin Integral: Su propsito es eliminar el error en estado estacionario. Para
integra el error que se va cometiendo en un cierto lapso de tiempo y lo multiplica
por la ganancia integrativa .


- Accin Deri vativa: Acta cuando se produce variaciones en el error, midiendo su
tasa de cambio. De esta forma corrige el error con la misma velocidad a la que este
se genera. Esta accin se calcula derivando el error en el tiempo y multiplicndolo
por la constante derivativa .
(6.1)
(6.2)
158



Finalmente la accin de control PID constar de la suma de estas 3 acciones. Es poco
comn que un controlador contenga estas 3 acciones. La combinacin ms comn es usar
solo las acciones Proporcional e Integral, teniendo de esta forma un controlador PI.

Uno de los objetivos de esta tesis es comparar el controlador neuro-difuso con una
estrategia de control clsica como el PID, por lo que a continuacin se explicar la
implementacin de este en el PLC S7-200 de Siemens.

6 . 4 . 1 Implementacin de Controlador PID en PLC S7-200

La implementacin de este controlador se bas bsicamente en el Asistente de Operaciones
del S7-200, eligiendo la opcin PID como se puede apreciar en la siguiente imagen:


Figura N 6.20: Asistente de Operaciones del S7-200

(6.3)
159

Este asistente permite el escalamiento directo de las seales, tanto de entrada (Sensor
Ultrasnico) como de salida (Electrovlvula), adems de la sintonizacin directa de los
parmetros del controlador.

6 . 4 . 2 Resultados y Comparacin de los Controladores PID y Neuro-Difuso

Para realizar la comparacin se analizaron ambos controladores bajo las mismas
condiciones de operacin, es decir, mismo valores de Set Point. La comparacin se
realizar al ajustar un cambio en el Set Point desde 0% hasta un 25% del rango de altura.

Respuesta Controlador PID


Figura N 6.21: Respuesta del Controlador PID ante un cambio de S. P.








Seal de Control
Nivel
Set Point
160

Respuesta Controlador Neuro-Difuso


Figura N 6.22: Respuesta del Controlador Neuro-Difuso ante un cambio de S. P.


Figura N 6.23: Seal de control del Sistema Neuro-Difuso ante un cambio de S.P.

De las figuras anteriores se puede apreciar que una gran diferencia de ambos controladores
es el tiempo de estabilizacin. El control neuro-difuso demora alrededor de 60 segundos en
estabilizarse, mientras que el controlador PID, en esta misma cantidad de tiempo, an no
llega al set point.

161

Esto se debe a la diferencia de la seal de control. La seal de control que enva el sistema
neuro-difuso hace que la vlvula est por ms tiempo abierta en un 100%, logrando con
esto que se llene ms rpido, para luego comenzar a cerrarla gradualmente. Por otro lado, la
seal de control del PID hace que la vlvula este menos tiempo abierta al 100%.

Pero sin lugar a dudad que la diferencia ms importante de estos dos controladores es su
tipo de implementacin. Si se desea cambiar el tipo de respuesta del controlador neuro-
difuso solo basta con agregar o modificar una regla, de manera muy intuitiva. Mientras que
para el PID es necesario recalcular los parmetros de este controlador, o buscar
manualmente una configuracin que satisfaga la respuesta que se busca.

Nota: Ambos experimentos fueron realizados con una apertura en la Vlvula de Salida de
un 25%






162

CONCLUSIONES
El software FuzzyControl++ y el software NeuroSystems demostraron ser poderosas
herramientas para la implementacin de estrategias de control inteligentes. Ambos son muy
intuitivos en cuanto a su programacin, y no requieren un conocimiento en profundidad
sobre la teora de las redes neuronales artificiales o de lgica difusa.

Si bien ambos software son de la familia APC de Siemens, el uso de estas herramientas no
se limita solo a ser utilizadas por software de Siemens, sino que se pueden acoplar a
cualquier otro software de programacin grfica. Esto ltimo se debe al sistema de destino
ActiveX, el cual permite integrar, por ejemplo, NeuroSystems V5.1 a Borland Builder
como se puede apreciar en el Anexo C. Esto permite utilizar todas las herramientas
proporcionadas por NeuroSystems o FuzzyControl++para clasificar, por ejemplo cilindros
utilizando Visin Artificial con Borland Builder y OpenCV, Reconocimiento de patrones,
Control de Movimiento y un sin fin de aplicaciones.

En esta tesis se pudo comprobar ventajas y desventajas al aplicar estrategias inteligentes al
Control Automtico, y son estas las que se detallan a continuacin.

Ventajas de los Controladores Inteligentes

- Evitar el Modelamiento de la Planta: Se logr comprobar una ventaja
fundamental que presentan los controladores inteligentes con respecto a los
controladores clsicos, y es que no necesitan el modelo matemtico de la planta para
su diseo, si bien el modelo de la planta en la cual trabajamos (estanque de base
cuadrada) no es difcil de determinar para sintonizar un controlador clsico como lo
es el PID, este presenta un comportamiento No lineal, lo que conlleva realizar su
linealizacin, lo cual significa contar con una modelacin que no es representativa
en todo el rango de operacin de la planta, sino que slo en torno a un punto de
163

operacin especfico. Contar con este modelo es fundamental para parametrizar
tericamente el controlador PID. En la prctica, la mayora de los casos de
sintonizacin de un PID se realiza de manera emprica lo cual significa no tener
ningn sustento terico que avale la estabilidad de la planta. El tiempo invertido en
una sintonizacin emprica PID, equivale al tiempo de definir la estructura del
controlador Inteligente pero con un sustento terico detrs.

- Parametrizacin del Controlador slo con la experiencia del Operador o con
datos de la planta: Un controlador inteligente imita el comportamiento de un
operador humano y por lo tanto slo se necesita para su parametrizacin el
conocimiento adquirido de la persona que ms est familiarizado con el proceso
para inferir las reglas de tipo IF-THEN en el caso de un controlador difuso, o
contar con un set de datos del proceso en el caso de un control de la planta por redes
neuronales.

- Capacidad de Aprendizaje: Sin dudas una de las mayores cualidades del
controlador inteligente comprobadas fue su capacidad de aprender. Esto da la
posibilidad de manipular su comportamiento como se desee. Producto de esta
ventaja tambin se puede observar las modificaciones realizadas por el
entrenamiento de una red neuro-difusa en la estructura de su controlador difuso
equivalente, permitiendo comprobar si la estructura inicial del sistema difuso fue
realmente correcto.

- Capacidad de manejar mltiples variables: Se comprob la utilidad de manejar
mltiples variables para obtener una accin de control que optimice la Estrategia de
Control. A diferencia del Controlador PID que puede ser usado solo en procesos
SISO (Single Input-Single Output), un Controlador Inteligente puede ser usado en
Controladores MISO (Multiple Input-Single Output) y MIMO (Multiple Input-
Multiple Output).
164

- Rpido cambio en la Estrategia de Control: El diseo y la puesta en marcha del
Controlador Neuro-Difuso utilizando una segunda entrada fue realizada en menos
de una hora, ya que se contaba con la base del controlador anterior, pudiendo as
trabajar sobre ella.

- Capacidad de Manejar directamente la Seal de Control: Otra de las ventajas
que se observ en el Control Inteligente con respecto al Control Clsico, fue que se
puede trabajar directamente sobre la seal de control, por lo tanto solo depende del
diseador el comportamiento que esta tendr. No as las estrategias de Control
Clsica que para probar su diseo, necesitan el modelo de la planta o en su defecto
aplicarla directamente sobre el proceso real para recin en ese momento analizar el
comportamiento de la seal de control que tal vez si mantenga el valor deseado pero
a costa de generar una seal de control imposible de generar (en caso de las
simulaciones) o una seal que tenga cambios demasiados abruptos los cuales daen
al actuador.


Desventajas de los Controladores Inteligentes

- Parametrizacin del Controlador slo con la experiencia del Operador o con
datos de la planta: A pesar de contar como una ventaja, esta situacin puede llevar
a un diseo errneo del controlador si el operador no es experto o no domina
situaciones crticas de la planta. Por otro lado si los datos de la planta contienen
ruido, la red neuronal o el sistema neuro-difuso puede llegar a aprender estas
aleatoriedades lo cual puede llevar al controlador a realizar acciones de control
errneas.

- Aproximacin en la Conversin de Controlador Difuso a una Red Neuro-
Difusa: Como se pudo ver en la seccin 6.1.3 la conversin del Controlador Difuso
165

a una Red Neuro-Difusa, provoca una aproximacin que baja la performance del
control y esto se produce debido al tipo de funciones de activacin de tipo
gaussianas que utilizan las Neuronas de la Red Neuro-Difusa.

- Estabilidad en la Respuesta en rangos de valores no probados: No es posible
comprobar la estabilidad de los Controladores Neuronales cuando la seal de
entrada se sale del rango en que esta fue entrenada. Si bien esto puede ser tambin
vlido tambin para los controladores difusos, en el caso en que no existe alguna
regla activa, Fuzzycontrol++cuenta con una opcin que da la posibilidad de elegir
un valor de la seal de control cuando la entrada que recibe se sale de su rango
(caso en que ninguna de las reglas se encuentra activa).

- Inexactitud en sistemas multivariable: Si bien una de las virtudes de los
controladores Inteligentes es relacionar mltiples variables de entrada con mltiples
variables de salida (sistemas MIMO), el mapeo entrada-salida se vuelve mucho ms
complejo a medida que el nmero de variables a medir y controlar aumentan y
consecuentemente puede llevar a una mayor inexactitud en el control del proceso.

- Necesidad de realizar pruebas: Una de las desventajas que tienen los
controladores neuronales, es la necesidad de realizar pruebas para obtener datos de
entrenamiento. Las pruebas para generar el set de datos pueden ser imposibles de
realizar o implicar costos muy elevados. Por otro lado, si no es posible hacer
pruebas, en vez utilizar una red neuronal se puede comenzar con un sistema difuso
obtenido de la experiencia del operador y segn como reaccione este, se puede
generar un set de datos de entrenamiento en funcin de la respuesta generada por el
controlador difuso.

Tambin se puede concluir que con la configuracin actual que presenta la maqueta de
nivel ubicada en el laboratorio de control, no resulta muy conveniente aplicar un control a
166

la Electrovlvula. Esto debido a que el motor de la bomba que impulsa el agua hacia arriba
no es capaz de enviar el flujo que la electrovlvula permite que pase al estar un 100%
abierta. Esto gener problemas al aplicar las estrategias de control, debido a que el
escalamiento de la seal de salida no era preciso. Puesto que el flujo que deja pasar la
electrovlvula es el mismo despus de cierto punto de apertura. Una solucin a esto es
aplicar el control al motor de la bomba a travs de un variador de frecuencia.

Trabaj os Futuros

Algunos de los trabajos futuros a realizar son:

- Inclusin de la variacin del error en el tiempo ( ) como otra entrada al
sistema Neuro-Difuso.

- Integracin de NeuroSystems/FuzzyControl++ con otros Software de Programacin
Grfica, como Borland Builder, Visual Basic o una herramienta de prototipaje como
Matlab, para el control de cualquier otro sistema.

- Aplicar las Estrategias de Control Inteligente a control de Movimiento a travs del
manejo del Set Point en frecuencia.

- Realizar modelamiento de plantas a travs de un sistema inteligente.

- Disear e implementar controladores predictivos inteligentes.

- Combinar tcnicas de control clsica con sistemas inteligentes para optimizar el
control.
167

Bibliografa
Textos de apoyo
Martin Del Bro B. y Sanz A. (2002). Redes Neuronales y Sistemas Difusos, RA-MA,
Espaa, 1994.
D.T. Pham y Br X. Liu (1995). Neural Networks for Identification, Prediction and
Control, Springer, New York, 1995.
Freeman J. A. y Skapura D. (1993). Redes Neuronales: Algoritmos, aplicaciones y
tcnicas de programacin, Addison-Wesley, E.U.A, 1993
Manual NeuroSystems V5.1, Siemens AG, 2006.
Manual FuzzyControl++V6.0, Siemens AG, 2008.

Referencias
[1] E. Cuevas, D. Zaldivar, R. Rojas. Neurofuzzy prediction for gaze control,
Canadian Journal of Electrical and Computer Engineering, Rev. Oct. 2009.
[2] K. Dong Hwa. Neuro-Fuzzy Tuning of PID Controller for Control of Actual Gas
Turbine Power, Computational Intelligence for Measurement Systems and
Applications, 2004. CIMSA. 2004 IEEE International Conference on Jul. 2004,
Rev. Mar.2005.
[3] G. Ramrez, M. Chacn. Reconocimiento de defectos en maderas utilizando una
red neuro-difusa. Revista Ra Ximhai, Vol. 1. Nmero 3, Septiembre.-Diciembre
2005.

[4] G. Yang, L Junfeng, C. Lihui, W. Qinglin. ANFIS Based Method to Implement
Flexible Positioning of Secondary Attackers in RoboCup Simulation League.
168

Department of Automatic Control, Beijing Institute of Technology, Beijing,
100081.

[5] A. Nassoum, M.K. Fellah, P. Wira, A. Bendaoud. Neuro-Fuzzy control of a
singularly perturbed permanent magnet synchronous machine fed by a three levels
inverter. Industrial Electronics, 2008. ISIE 2008. IEEE International Symposium,
rev. Nov.2008.

[6] J. Xing, Z. Li, J. Zhang, Flexible Process Control - A Neuro-Fuzzy Approach in
Intelligent Workflow Model Based on Extended Petri Nets, cimca, pp.5,
International Conference on Computational Inteligence for Modelling Control and
Automation and International Conference on Intelligent Agents Web Technologies
and International Commerce (CIMCA'06), 2006.

[7] M. Iskarous, K. Kawamura, "Intelligent control using a neuro-fuzzy network," iros,
vol. 3, pp.3350, International Conference on Intelligent Robots and Systems-
Volume 3, 1995.
169

Anexo A: FUZZY PROGRAMMING LANGUAGE
Estndar FPL
El Lenguaje de Programacin Difuso (FPL) fue desarrollado por Togai InfraLogic (TIL)
especialmente para la implementacin de Sistemas de Lgica Difusa. Consta de 15
diferentes Objetos, ofreciendo facilidad y flexibilidad en la definicin de Sistemas Difusos.
EL formato de datos guardado en las aplicaciones Difusas es en Fuzzy Programming
Language (FPL). El estndar FPL usado por distintas herramientas de programacin de
control difuso. Esta Estandarizacin hace posible el intercambio de Proyectos de Control
Difuso entre diferentes herramientas desarrolladas.
Limitaciones del Estndar FPL
- Se permite slo un Set de Reglas
- Un Mximo de 8 Entradas, 4 Salidas y 200 reglas utilizando 2 entradas y una salida.
- Cada Entrada puede contar con un mximo de 7 Funciones de Pertenecia (F.P).
- Cada Entrada puede contar con un mximo de 9 F.P.
- Slo se permiten operaciones AND en las Reglas Difusas.
- Las F.P de la Entrada se restringen slo Trapezoidales. Y las de Salida a Singletons.

Palabras de Control FPL utilizadas por FUZZYCONTROL++
En la siguiente Tabla se muestran las Palabras de Control de la Sintaxis FPL las cuales son
usadas por FUZZYCONTROL++.


170

Palabra de Control FPL Significado
/*Comentarios*/ Entre los caracteres /* */ se puede Comentar el Cdigo.
PROJECT Inicio del Proyecto.
VAR Inicio de la Descripcin de una Variable (entrada o salida).
TYPE Tipo de Variable (En Control Difuso siempre es FLOAT).
MIN, MAX Valores Lmites de una Variable.
MEMBER Comienzo de la Definicin de una Funcin de Pertenencia.
POINTS Lista de Puntos de una Funcin de Pertenencia.
FUZZY Inicio de un Set de Reglas.
RULE Definicin de una Regla
IF, IS, AND, THEN, = Elementos Descriptivos de una Regla Difusa.
CONNECT Determina la Asociacin de Entradas, Salidas y un Set de Reglas.
FROM, TO Elementos de Conexin en CONNECT
END Fin de un Objeto
Tabla A.1: Palabras de control de la Sintaxis FPL





171

Cdigo del Controlador Difuso Implementado
A continuacin se muestra el cdigo que se realiz para estructurar el Controlador Difuso.
PROJECT /*Inicio del Proyecto de Archivo FPL*/
VAR error /* Inicio Declaracin de la variable de Entrada error*/
TYPE float /* Declaracin del Tipo de Variable float*/
MIN -100.0 /* Valor de lmite inferior de la variable error*/
MAX 100.0 /* Valor de lmite Superior de la variable error*/
MEMBER NG /* Declaracin Funcin de Pertenencia NG Negativo Grande.*/
POINTS -100.0,1.0 -100.0,1.0 -50.0,0.0 /*Puntos que definen la forma y posicin
de la F.P.*/
END /* Fin de la declaracin de la F.P (NG)*/
MEMBER NP /* Declaracin F.P NP (Negativo Pequeo) */
POINTS -75.0,0.0 -50.0,1.0 -50.0,1.0 0.0,0.0
END /* Fin de la declaracin de la F.P. NP */
MEMBER Nulo /* Declaracin Funcin de Pertenencia Nulo */
POINTS -25.0,0.0 0.0,1.0 0.0,1.0 25.0,0.0
END /* Fin de la declaracin de la F.P Nulo*/
MEMBER PP /* Declaracin Funcin de Pertenencia PP (Positivo Pequeo)*/
POINTS 0.0,0.0 50.0,1.0 50.0,1.0 75.0,0.0
END /* Fin de la declaracin de la NP */
MEMBER PG /* Declaracin Funcin de Pertenencia (PG) (Positivo Grande)*/
POINTS 50.0,0.0 100.0,1.0 100.0,1.0
END /* Fin de la declaracin de la F.P NP */
END /* Fin Declaracin de Funciones de Pertenencia de la Variable error*/

VAR valvula /* Inicio Declaracin de la variable de Salida vlvula */
TYPE float
MIN 0.0
MAX 100.0
MEMBER Cero /* Declaracin F.P Cero (Singleton)*/
POINTS 0.0 /*Punto que definen la activacin del Singleton Cero*/
END
MEMBER Bajo /* Declaracin F.P Bajo (Singleton)*/
POINTS 25.0
END
172

MEMBER Medio /* Declaracin F.P Medio (Singleton)*/
POINTS 50.0
END /* Fin de la declaracin de la F.P Medio */

MEMBER Alto /* Declaracin F.P Alto (Singleton)*/
POINTS 75.0
END /* Fin de la declaracin de la F.P Alto */
MEMBER Cien /* Declaracin F.P Cien (Singleton)*/
POINTS 100.0
END /* Fin de la declaracin de la F.P Cien */
END /* Fin Declaracin de Funciones de Pertenencia de la Variable Vlvula*/

FUZZY ProFuzzy /*Inicio Declaracin del Set de Reglas ProFuzzy*/
RULE Regla_01 /*Inicio Declaracin Regla1 */
IF (error IS NG) THEN /*Antecedente*/
valvula = Cien /*Consecuente*/
END /*Fin Declaracin Regla1 */
RULE Regla_02 /*Inicio Declaracin Regla 2 */
IF (error IS NP) THEN
valvula = Alto /*Consecuente*/
END /*Fin Declaracin Regla 3*/
RULE Regla_03 /*Inicio Declaracin Regla 3*/
IF (error IS Nulo) THEN /*Consecuente*/
valvula = Cero /*Consecuente*/
END /*Fin Declaracin Regla 3 */
RULE Regla_04 /*Inicio Declaracin Regla 4*/
IF (error IS PP) THEN /*Consecuente*/
valvula = Cero /*Consecuente*/
END /*Fin Declaracin Regla 4 */
RULE Regla_05 /*Inicio Declaracin Regla 5*/
IF (error IS PG) THEN /*Consecuente*/
valvula = Cero /*Consecuente*/
END /*Fin Declaracin Regla 5 */
END /*Fin Declaracin del Set de Reglas ProFuzzy*/
CONNECT /* Inicio de Declaracin de conexin variable error */
/* Se conectan los datos desde la variable error al Set de Reglas ProFuzzy*/
FROM error
TO ProFuzzy /*
END /* Inicio de Declaracin de conexin */
173

CONNECT /* Inicio de Declaracin de conexin variable vlvula */
FROM ProFuzzy
/* Se conectan los datos de salida del Set de Reglas ProFuzzy a la variable Vlvula*/
TO valvula
END
END /* Fin del Proyecto */

























174

Anexo B: Aplicacin Del Sistema Destino WINCC

En este Anexo se muestran los pasos necesarios para la utilizacin del Sistema Destino
WinCC, y estos son:
1. Establecer el Intercambio de datos entre los Dispositivos Entrada-Salida y el PLC
S7-300.
2. Establecer el Intercambio de datos entre PLC S7-300 y WinCC.
3. Instalar y Configurar el Sistema Destino en WinCC.
B.1 Intercambio de datos entre Dispositivos Entrada-Sali da y PLC
Primero que todo se debe establecer la comunicacin del PLC y los dispositivos de Entrada
y Salida, esto quiere decir con la Vlvula de Nivel y el Sensor de Nivel Ultrasnico.
Para ello utilizaremos el Software Step7 y asignaremos a los dispositivos, los datos
mostrados en la Tabla B.1.
Seal Posicin de Memoria
Sensor Ultrasnico PEW256
Vlvula de Nivel PAW258
Tabla B.1: Asignacin de posicin de Memoria de dispositivos Entrada-Salida

Nota: La nomenclatura de las memorias est en Alemn, en ocasiones el software step7
utiliza nomenclatura americana, en vez de PEW utiliza PIW y en vez de PAW utiliza PQW.


175

En la figura B.1 se muestra la programacin realizada en el lenguaje AWL dentro del
Bloque de Programa OB1 el cual tiene la siguiente estructura:
1. Adquisicin y Escalamiento de la seal del Sensor Ultrasnico.
2. El valor escalado se resta con el Set Point (proveniente de WinCC).
3. Escalamiento del valor calculado por el Control Difuso/Neuro-Difuso (proveniente
de WinCC).
4. Se transfiere el valor escalado a la posicin de memoria asignada a la vlvula de
nivel.

Figura B.1: Programacin de adquisicin de datos WinCC-PLC


176

B.2 Intercambio de datos entre PLC y WinCC
El intercambio de datos entre el PLC y WinCC se realiza a travs del bus de campo MPI
utilizando el cable MPI/USB Adapter.

Para realizar esta comunicacin, se necesita agregar el driver de comunicaciones
"SIMATIC S7 Protocol Suite". Un driver de comunicaciones es una dll, con la extensin
*.CHN que posibilita a WinCC comunicar un determinado protocolo con un tipo de PLC o
aplicacin software. Esta seleccin se realiza en el proyecto creado en WinCC en las
opciones del Administrador de Variables.

Luego, se procede a elegir el canal de comunicaciones MPI para abrir una Nueva Conexin.
Despus de este paso, se estar en condiciones de crear las variables de PLC que
almacenarn los valores del Sensor Ultrasnico, la Vlvula de Nivel y el Set Point.

B.3 Instalacin Si stema Desti no WinCC
Para registrar la dll neuro.oll, la cual permite ejecutar el algoritmo de la Red, se deben
realizar los siguientes pasos:
1. Dirigirse al proyecto creado en WinCC y presionar botn derecho del mouse para
seleccionar la opcin Grficos OLL como se muestra en la figura B.3 a).
2. Luego se abre el cuadro de dilogo mostrado en la figura B.3 b), y para buscar la dll
se deber presionar el botn disco el cual permite buscar todas las *.oll que
encuentra en el disco en donde est instalado WinCC.
3. Ahora se est en condiciones de utilizar el objeto neuro, el cual se puede acceder
dentro del Graphics Designer en la pestaa Estndar dentro de la categora Objetos
Smart.
177


Figura B.2: Procedimiento para registrar neuro.oll en WinCC

B.4 Configuracin del Obj eto Neuro
A continuacin se detalla la configuracin del objeto Neuro en el Graphics Designer para
establecer la comunicacin con las variables de proceso. El procedimiento a seguir es el
siguiente:
1. Insertar el Objeto Neuro desde la pestaa Estndar dentro de la categora Objetos
Smart.
2. Doble clic sobre el objeto Neuro para acceder a la pestaa Propiedades, luego
dirigirse a la opcin otros para vincular el archivo .snl al objeto como se muestra en
la figura B.5.
3. Luego dirigirse a la opcin Input/Output (tambin dentro de Propiedades) y asignar
la variable PLC correspondiente a la input que se requiere como se muestra en la
figura B.5.
4. Finalmente dirigirse a la pestaa Eventos para establecer una conexin directa entre
la Salida (opcin Output) como se muestra en la figura B.7 y la variable de PLC
correspondiente al Actuador del Lazo de Control.
a) b)
178

Nota: Las Variables de PLC deben estar en el formato nmero coma en flotante 32 bits
IEEE 754.

Figura B.3:Asignacin de un archivo .snl al Objeto Neuro


Figura B.4: Conexin de entradas con el Objeto Neuro

Asignacin del
archivo .snl
179


Figura B.5: Conexin directa a variable de Salida

Figura B.6: Conexin de Salidas con el Objeto Neuro








Asignacin de la variable
que contendr la salida
del controlador
180

En la figura B.7 se muestra la HMI utilizada para realizar los experimentos.


Figura B.7: HMI utilizada en la Implementacin de los controladores














181

Anexo C: Aplicacin del ActiveX de NEUROSYSTEMS en
BORLAND BUILDER 6.0
En este Anexo se muestran los pasos necesarios para la utilizacin del Sistema Destino
ActiveX en Borland Builder 6.0. Este Sistema Destino nos abre la posibilidad de aplicar las
ventajas de los Sistemas Neuro-Difusos a cualquier sistema que se desee controlar.
El ActiveX se puede instalar en Borland y en cualquier otra interfaz grfica de
programacin que soporte ActiveX como por ejemplo Visual Basic o Matlab. Dentro de la
gama de aplicaciones, se pueden encontrar:
- Reconocimiento de Patrones, por ejemplo Reconocimiento de Rostros.
- Manejo de Robots, por ejemplo el manejo de los Movimientos del Robots Scorbot o
Robotino.
182

C.1 Instal aci n del Acti veX en Borl and Bui lder
Para proceder a instalar el ActiveX de NEUROSYSTEMS, se debe abrir un proyecto nuevo,
y luego dirigirse a la pestaa Componentes para seleccionar la opcin Import ActiveX. La
figura C.1 muestra la ventana que emerge al realizar esta accin.
Posteriormente, se presiona el botn Add para buscar el ActiveX dentro de la capeta de
NEUROSYSTEMS y luego en ActiveXControl se encuentra NeuroSystems.ocx, el cual es el
componente que se debe seleccionar.
Finalmente se presiona el botn Install para proceder a la instalacin del ActiveX.

Figura C.1: Instalacin del ActiveX en Borland Builder




183

C.2 Apli caci n de un Programa utilizando ActiveX
Se crear una mini aplicacin que muestra como acceder a las propiedades el Objeto
NeuroSystems aplicando el mismo archivo .snl que se utiliz para realizar el Control
Neuro-Difuso dentro de Borland Builder 6.0.
En la figura C.2 se puede observar la interfaz de la aplicacin y las propiedades accesibles
del ActiveX que permitirn vincular las variables de entradas y salidas al algoritmo
asociado a la red Neuronal/Neuro-Difusa.
La aplicacin consiste en el ingreso manual del error en el Edit1 y por medio del
Button1Click obtener la salida y mostrarla en el Edit2.
Antes de comenzar con la programacin se debe cargar el archivo .snl y definir la posicin
del Trigger el cual es una variable que habilita o deshabilita la accin del ActiveX. En la
figura C.3 se pueden observar estas dos acciones. Para que el componente est siempre
habilitado, se cambia el Setup del Trigger a 1.


Figura C.2: Interfaz de la Aplicacin
Button1click
Edit2
Propiedades
accesibles del ActiveX
ActiveX
NeuroSystems
Edit1
184


Figura C.3: Seleccin del archivo .snl y estado del Trigger
En la figura C.4 se muestra la programacin realizada dentro del Button1Click, que
bsicamente lo que hace es transferir un valor de entrada (ingresado manualmente) a la
propiedad NeuroIn1 del componente NeuroSystems1 para finalmente mostrar la salida
accediendo a la propiedad NeuroOut1.

Figura C.4: Programacin de la aplicacin




185

Finalmente se muestra la aplicacin funcionando y aplicada para dos valores de error.
Como se puede ver en la figura C.5 a) cuando se ingresa un error de +50% la salida
muestra un valor prcticamente de 0%, esto se debe a que el Nivel actual est sobre el Set
Point y por lo tanto la vlvula se mantiene cerrada.
En la figura C.5 b) cuando se ingresa un error de -50% la salida muestra un valor
prcticamente de 100%, esto se debe a que el Nivel actual est bajo el Set Point y por lo
tanto la vlvula se mantiene totalmente abierta.


Figura C.5: a) Ejecucin de la aplicacin para un error de 50%
b) Ejecucin de la aplicacin para un error de -50%

S-ar putea să vă placă și