You are on page 1of 260

UNIVERSIDADE DA CORUÑA

DEPARTAMENTO DE

MÉTODOS MATEMÁTICOS Y DE REPRESENTACIÓN

TESIS DOCTORAL

USO DE TÉCNICAS DE INTELIGENCIA ARTIFICIAL EN


INGENIERÍA CIVIL

Directores
Dr. Fernando Martínez Abella
Dr. Jerónimo Puertas Agudo

Doctorando
Juan Ramón Rabuñal Dopico
A Coruña, Septiembre 2007
D. FERNANDO MARTÍNEZ ABELLA, Catedrático de Universidad en el área

Ingeniería de la Construcción de la Universidade da Coruña y D. JERÓNIMO

PUERTAS AGUDO, Catedrático de Universidad en el área de Ingeniería

Hidráulica de la Universidade da Coruña

HACEN CONSTAR QUE:

La memoria “USO DE TÉCNICAS DE INTELIGENCIA ARTIFICIAL

EN INGENIERÍA CIVIL” ha sido realizada por D. JUAN RAMÓN RABUÑAL

DOPICO, bajo nuestra dirección en el Departamento de Métodos Matemáticos y

de Representación, y constituye la Tesis que presenta para optar al Grado de

Doctor en Ingeniería Civil de la Universidade da Coruña.

A Coruña, 3 de septiembre de 2007

Fdo: Dr. Fernando Martínez Abella Fdo: Dr. Jerónimo Puertas Agudo
“Algunas personas hacen del mundo un
lugar especial con sólo estar en él”

Arashi

AGRADECIMIENTOS

En primer lugar quiero expresar mi agradecimiento a los directores de tesis, Jerónimo y


Fernando, por haber aguantado y guiado con interminable paciencia todas mis preguntas y
dudas, además de animar y darme la posibilidad de iniciar este proyecto que aquí se presenta.
La tesis, además, contiene datos y resultados procedentes de las labores de investigación que se
están desarrollando en los proyectos de investigación BIA2005-09412-C03-01 (Ministerio de
Educación y Ciencia), PGIDT06PXIC118137PN (Xunta de Galicia), MAM 3.2-358/2005/33-B
(Ministerio de Medio Ambiente), INTERREG IIIA-PROLIT-SP1E194/03 (FEDER) y
TIN2006-13274 (Ministerio de Educación y Ciencia).

Gracias al Centro de Innovación Tecnolóxica en Edificación e Enxeñaría Civil (CITEEC) de la


Universidade da Coruña y a todos sus integrantes, donde he compartido tantos buenos
momentos y sin las experiencias vividas en él sería imposible alcanzar esta meta.

También quiero agradecer al director y a todos los miembros del laboratorio de Redes de
Neuronas Artificiales y Sistemas Adaptativos (RNASA) de la Facultad de Informática de la
Universidade da Coruña su inestimable compañía y ayuda.

A María por todo el ánimo y dedicación que me ha brindado durante estos años y, sobre todo,
por nuestro hijo, Diego. A toda mi familia por haberme formado y enseñado tantas cosas
importantes que no se aprenden en la escuela.

Finalmente deseo agradecer a Nieves y Jon, de la Escuela de Diseño Industrial de la


Universidade da Coruña, el diseño de la portada y del CD, a Juan Luis por la ayuda en la
redacción y corrección del documento y a Dani por el apoyo en el desarrollo del sistema.
Índice 1

ÍNDICE

ÍNDICE ............................................................................................................................ 1
ÍNDICE DE FIGURAS ....................................................................................................... 5
ÍNDICE DE TABLAS ........................................................................................................ 7
ÍNDICE DE ECUACIONES ................................................................................................ 8
1 INTRODUCCIÓN ................................................................................................. 11
1.1 MOTIVACIÓN ..................................................................................................... 11
1.2 OBJETIVOS ........................................................................................................ 13
1.3 ESTRUCTURACIÓN DE LA TESIS ........................................................................ 15
2 FUNDAMENTOS .................................................................................................. 17
2.1 REDES DE NEURONAS ARTIFICIALES ............................................................... 20
2.1.1 Fundamentos y Conceptos Básicos de las RR.NN.AA. ............................. 23
2.1.1.1 Función de activación de la neurona ....................................................... 24
2.1.1.2 Tipos de neuronas.................................................................................... 25
2.1.1.2.1 Neuronas lineales ............................................................................... 25
2.1.1.2.2 Neuronas no lineales .......................................................................... 25
2.1.2 Arquitecturas de RNA ................................................................................ 26
2.1.2.1 Redes alimentadas hacia delante. ............................................................ 26
2.1.2.2 RNA con Retroalimentación total o parcial. ........................................... 27
2.1.3 Manejo de la información en las RR.NN.AA............................................. 28
2.1.4 Entrenamiento de las RR.NN.AA............................................................... 30
2.1.4.1 Proceso de aprendizaje supervisado ........................................................ 30
2.1.4.2 Ejecución ................................................................................................. 31
2.1.4.3 Selección de los elementos del juego de ensayo ..................................... 32
2.1.5 Redes Recurrentes....................................................................................... 33
2.1.6 Aprendizaje por épocas............................................................................... 35
2.1.7 Aprendizaje en modo continuo ................................................................... 36
2.1.8 Problemas que se pueden dar durante el entrenamiento ............................. 37
Índice 2

2.1.9 Ejemplos de su utilización...........................................................................38


2.2 COMPUTACIÓN EVOLUTIVA ..............................................................................41
2.2.1 El Algoritmo Genético (AG).......................................................................42
2.2.1.1 Funcionamiento........................................................................................44
2.2.2 La Programación Genética ..........................................................................46
2.2.2.1 Ventajas de la PG.....................................................................................47
2.2.2.2 Funcionamiento de la PG.........................................................................49
2.2.2.2.1 Elementos del árbol ............................................................................51
2.2.2.2.2 Restricciones.......................................................................................52
2.2.2.2.3 Operadores genéticos..........................................................................53
2.2.2.2.3.1 Cruce .............................................................................................53
2.2.2.2.3.2 Reproducción (copia)....................................................................54
2.2.2.2.3.3 Selección de individuos ................................................................54
2.2.2.2.3.4 Mutación .......................................................................................56
2.2.2.2.4 Evaluación ..........................................................................................57
3 DESCRIPCIÓN DEL SISTEMA DESARROLLADO .......................................59
3.1 INTRODUCCIÓN ..................................................................................................59
3.2 ENTRENAMIENTO DE RNA CON AG .................................................................60
3.2.1 RNA como material genético......................................................................61
3.2.2 Módulo de entrenamiento de RNA .............................................................65
3.3 EL PROCESO DE ACTIVACIÓN ATENUADA EN EL TIEMPO EN LAS RR.NN.AA. 68
3.4 INDUCCIÓN DE EXPRESIONES MEDIANTE PG....................................................71
3.4.1 Parámetros del sistema ................................................................................ 72
3.4.2 Optimización ...............................................................................................75
3.4.3 Coeficientes de seguridad............................................................................76
3.4.4 Modelización de la relación entre señales mediante retardos temporales...77
4 RESULTADOS EN EL ÁREA DE CONSTRUCCIÓN .....................................83
4.1 INTRODUCCIÓN ..................................................................................................83
4.2 DESCRIPCIÓN DEL PROBLEMA ..........................................................................84
4.3 PLANTEAMIENTOS NORMATIVOS ACTUALES ....................................................86
4.4 CONJUNTO DE ENSAYO Y VARIABLES DE ENTRADA ..........................................91
Índice 3

4.5 PROPUESTA CON RNA ...................................................................................... 95


4.5.1 Determinación de la arquitectura de la RNA.............................................. 96
4.5.1.1 Determinación de la función de transferencia. ........................................ 97
4.5.1.2 Determinación del número de neuronas en la capa oculta. ..................... 99
4.5.2 Estudio de la tensión de trabajo de las barras. .......................................... 100
4.5.2.1 Predicción de la longitud de anclaje...................................................... 102
4.5.3 Comparación con normativas y fórmulas existentes. ............................... 104
4.5.4 Consideraciones. ....................................................................................... 106
4.6 PROPUESTA EVOLUTIVA: PROGRAMACIÓN GENÉTICA ................................. 108
4.6.1 Descripción del proceso............................................................................ 109
4.6.2 Configuración del algoritmo de PG .......................................................... 110
4.6.3 Resultados................................................................................................. 111
4.6.3.1 Primera aproximación (GP1)................................................................. 112
4.6.3.2 Segunda aproximación (GP2)................................................................ 113
4.6.3.3 Tercera aproximación (GP3) ................................................................. 114
4.6.3.4 Comparativa entre las tres aproximaciones........................................... 117
4.6.3.5 Comparación de la longitud de anclaje ................................................. 120
4.6.4 Consideraciones ........................................................................................ 123
4.7 OTRAS TÉCNICAS DE EXTRACCIÓN DE CONOCIMIENTO................................. 124
4.8 COMPARATIVA ENTRE LAS TÉCNICAS PROPUESTAS....................................... 127
5 RESULTADOS EN EL ÁREA DE HIDROLOGÍA......................................... 131
5.1 INTRODUCCIÓN ............................................................................................... 131
5.2 TRANSFORMACIÓN LLUVIA-ESCORRENTÍA .................................................... 134
5.2.1 Hidrogramas unitarios............................................................................... 135
5.2.2 Métodos hidráulicos.................................................................................. 137
5.2.2.1 Sentido físico de los parámetros en las ecuaciones hidráulicas ............ 139
5.2.3 Modelos basados en datos reales. Ajuste de parámetros .......................... 139
5.2.4 Métodos basados en ecuaciones o en técnicas de aprendizaje.................. 141
5.3 DESCRIPCIÓN DEL PROBLEMA ........................................................................ 144
5.3.1 Caso de estudio ......................................................................................... 145
5.4 SISTEMA PROPUESTO ...................................................................................... 148
Índice 4

5.4.1 Modelado del caudal diario .......................................................................150


5.4.1.1 Mediante PG ..........................................................................................152
5.4.1.2 Mediante RNA .......................................................................................155
5.4.1.3 Comparativa entre PG y RNA ...............................................................158
5.4.2 Modelado del caudal producido por la lluvia............................................158
5.4.2.1 Modelo de la escorrentía mediante RNA...............................................161
5.4.2.2 Modelo de la escorrentía mediante Programación Genética..................168
5.4.2.3 Modelo de la escorrentía mediante Hidrograma Unitario SCS .............177
5.4.2.4 Respuestas al impulso unitario de los modelos...................................... 179
5.4.2.5 Resumen de resultados...........................................................................180
5.4.3 Diagrama del sistema ................................................................................181
5.5 CONSIDERACIONES ..........................................................................................183
6 CONCLUSIONES ................................................................................................185
7 FUTUROS DESARROLLOS..............................................................................191
8 BIBLIOGRAFÍA ..................................................................................................195
MANUAL DE USUARIO...........................................................................................213
Índice 5

Índice de Figuras
Figura 1. Modo de trabajo con Redes de Neuronas Artificiales. ______________________________ 21
Figura 2. Neurona Artificial. __________________________________________________________ 24
Figura 3. RNA alimentada hacia delante. ________________________________________________ 27
Figura 4. RNA con retroalimentación. __________________________________________________ 28
Figura 5. Diagrama de funcionamiento general del Algoritmo Genético. _______________________ 45
Figura 6. Diagrama de flujo de la Programación Genética.__________________________________ 49
Figura 7. Árbol para la expresión 2*(3+x). ______________________________________________ 51
Figura 8. Codificación de un Individuo. _________________________________________________ 61
Figura 9. Red de neuronas alimentada hacia delante. ______________________________________ 61
Figura 10. Individuo correspondiente a la codificación de la Figura 9._________________________ 62
Figura 11. Red de neuronas con retroalimentación. ________________________________________ 62
Figura 12. Individuo correspondiente a la codificación de la Figura 11.________________________ 62
Figura 13. Diagrama general del entrenamiento. __________________________________________ 68
Figura 14. Representación de la Conexión Atenuada en el Tiempo.____________________________ 69
Figura 15. Funcionamiento de la Activación Atenuada. _____________________________________ 70
Figura 16. Plano-Z. _________________________________________________________________ 79
Figura 17. Tipos de anclaje. __________________________________________________________ 85
Figura 18. Representación esquemática del equilibrio de la componente radial de las tensiones de
adherencia y tangenciales [VERA 92]. __________________________________________________ 86
Figura 19. Ensayo Pull-Out. __________________________________________________________ 87
Figura 20. Configuración de entradas-salidas para predecir la tensión de trabajo de las barras. ____ 93
Figura 21. Configuración de entradas-salidas para predecir la longitud de anclaje. ______________ 93
Figura 22. Sistema de predicción mediante RNA. __________________________________________ 96
Figura 23. ECM de la RNA en el entrenamiento. __________________________________________ 98
Figura 24. ECM y Error Medio para los patrones de entrenamiento y test. ______________________ 98
Figura 25. ECM y Error Medio variando el número de neuronas. _____________________________ 99
Figura 26. Evolución del ECM según iteraciones. ________________________________________ 100
Figura 27. Tensión de trabajo de las barras real (MPa) vs predicha en entrenamiento y test. ______ 101
Figura 28. Correlación datos predichos por RNA y reales (MPa).____________________________ 102
Figura 29. Comparativa de longitudes de anclaje predichas por la RNA y reales. _______________ 103
Figura 30. Correlación valores de predicción de la RNA y reales. ___________________________ 103
Figura 31. Valores reales con RNA y fórmulas ACI, ZUO, EHE y EC2. _______________________ 105
Figura 32. Descripción del proceso. ___________________________________________________ 110
Índice 6

Figura 33. Árbol del mejor individuo GP1. ______________________________________________ 112


Figura 34. Árbol del mejor individuo GP2. ______________________________________________ 113
Figura 35. Árbol del mejor individuo GP3. ______________________________________________ 115
Figura 36. Predicción de la expresión obtenida y valores reales (MPa). _______________________ 116
Figura 37. Predicción de la expresión obtenida GP1 y valores reales (MPa) de entrenamiento. _____ 117
Figura 38. Predicción de la expresión obtenida GP2 y valores reales (MPa) de entrenamiento. _____ 118
Figura 39. Predicción de la expresión obtenida GP3 y valores reales (MPa) de entrenamiento. _____ 118
Figura 40. Predicción de la expresión obtenida GP1 y valores reales (MPa) de test. ______________ 119
Figura 41. Predicción de la expresión obtenida GP2 y valores reales (MPa) de test. ______________ 119
Figura 42. Predicción de la expresión obtenida GP3 y valores reales (MPa) de test. ______________ 119
Figura 43. Predicción de la expresión obtenida GP1 y valores reales (entrenamiento + test)._______ 120
Figura 44. Predicción de la expresión obtenida GP2 y valores reales (entrenamiento + test)._______ 121
Figura 45. Predicción de la expresión obtenida GP3 y valores reales (entrenamiento + test)._______ 121
Figura 46. Longitud de anclaje que predice GP3 y longitud real. _____________________________ 122
Figura 47. Longitud de anclaje que predicen las formulaciones de ACI, Zuo, EHE y EC2. _________ 122
Figura 48. Comparación entre las dos propuestas. ________________________________________ 127
Figura 49. Correlación (RNA y PG)____________________________________________________ 128
Figura 50. Correlación (normativas) ___________________________________________________ 128
Figura 51. Hidrograma Unitario.______________________________________________________ 136
Figura 52. Grado de “conceptualidad” de diferentes métodos en modelización lluvia-escorrentía.___ 144
Figura 53. Mapa de la cuenca denominada Almendra______________________________________ 147
Figura 54. Registro de lluvia (mm) y caudal (m3/s) ________________________________________ 148
Figura 55. Señales del pluviómetro y del sensor de caudal.__________________________________ 149
Figura 56. Caudal producido por el flujo diario y el causado por la lluvia. _____________________ 150
Figura 57. Hidrograma promediado de agua residual urbana. _______________________________ 151
Figura 58. Hidrograma que se utiliza para el proceso de entrenamiento – 5426 datos. ____________ 151
Figura 59. Caudal diario y predicción de la PG __________________________________________ 154
Figura 60. Arquitectura de la RNA. ____________________________________________________ 155
Figura 61. Media del caudal diario y resultado de la predicción de RNA. ______________________ 156
Figura 62. Comparaciones entre los parámetros del AG para el entrenamiento de RNA.___________ 157
Figura 63. Comparaciones entre ratios de cruce, mutaciones y tamaños de población del AG. _____ 157
Figura 64. Comparaciones entre diferentes funciones de activación y ventanas temporales. ________ 157
Figura 65. Señal del pluviómetro (fichero de entrenamiento – 5426 puntos). ____________________ 159
Figura 66. Señal de caudal que se utiliza para el proceso de entrenamiento – 5426 datos. _________ 160
Figura 67. Señal del pluviómetro (fichero de entrada para el test – 250 puntos). _________________ 161
Índice 7

Figura 68. Señal del caudal (Fichero de entrada para el test – 250 puntos). ____________________ 161
Figura 69. Arquitectura de la RNA recurrente 1. _________________________________________ 163
Figura 70. Caudal y predicción de la RNAR 1 (fichero de test). ______________________________ 164
Figura 71. Arquitectura de la RNA recurrente 2. _________________________________________ 165
Figura 72. Caudal y predicción de la RNAR 2 (fichero de test). ______________________________ 165
Figura 73. Arquitectura de la RNA recurrente 3. _________________________________________ 166
Figura 74. Caudal y predicción de la RNAR 3 (fichero de test). ______________________________ 167
Figura 75. Arquitectura de la RNA que mejores resultados produce.__________________________ 168
Figura 76. Caudal y predicción de la RNA con ventana temporal (fichero de test)._______________ 168
Figura 77. Caudal y predicción de la función 3 de PG (fichero de test). _______________________ 171
Figura 78. a) Señales de pluviómetro y de caudal de escorrentía generado b) filtro electrónico pasa
banda (filtro pasa alto más filtro pasa bajo) c) simulación de un filtro electrónico ante un pulso.___ 172
Figura 79. Relación entre las 2 señales (lluvia y caudal) a modelizar._________________________ 173
Figura 80. Diagrama de polos y ceros del sistema resultado. _______________________________ 175
Figura 81. Resultado del algoritmo de PG.______________________________________________ 175
Figura 82. Respuesta al impulso unitario del sistema hallado._______________________________ 176
Figura 83. Caudal y predicción de la expresión obtenida mediante PG (fichero de test). __________ 177
Figura 84. Simulación con el software HEC-HMS el método SCS Unit Hydrograph (fichero de test). 178
Figura 85. Caudal y predicción empleando el método SCS Unit Hydrograph (fichero de test). _____ 179
Figura 86. Métodos empleados: a) RNA con ventana temporal, b) RNAR 2(Pt), c) RNAR 3(Pt,Qt-1), d)
Ecuación 3 de PG, e) Filtros PG, f) SCS Hidrograma Unitario. _____________________________ 180
Figura 87. Funcionalidades generales del sistema. _______________________________________ 182
Figura 88. Ejemplo de funcionamiento del sistema completo. _______________________________ 182

Índice de Tablas
Tabla 1. Ejemplo de codificación de las conexiones de la RNAR de la Figura 11._________________ 63
Tabla 2. Autores y ensayos referenciados. _______________________________________________ 92
Tabla 3. Variables del proceso. ________________________________________________________ 94
Tabla 4. Porcentajes de seguridad de las distintas formulaciones.____________________________ 105
Tabla 5. Resultados de la RNA frente a las normativas para el cálculo de la longitud de anclaje. ___ 107
Tabla 6. Medidas de ajuste desnormalizadas. ____________________________________________ 116
Tabla 7. Comparativa entre las tres expresiones (tensión de adherencia) ______________________ 117
Tabla 8. Comparativa entre las tres expresiones (longitud de anclaje) ________________________ 120
Tabla 9. Comparativas entre las predicciones de longitud de anclaje (mm). ____________________ 123
Tabla 10. Comparativas entre diferentes técnicas de aprendizaje (longitud de anclaje). ___________ 126
Índice 8

Tabla 11. Comparación entre las dos propuestas con las normativas existentes. _________________ 127
Tabla 12. Comparación entre las dos propuestas. _________________________________________ 158
Tabla 13. Resumen de pruebas de diferentes parámetros de RNA. ____________________________ 167
Tabla 14. Comparación entre los diferentes métodos utilizados. ______________________________ 181

Índice de Ecuaciones
Ecuación 1. Combinación de señales de una Neurona. ______________________________________ 23
Ecuación 2. Función de Activación. _____________________________________________________ 24
Ecuación 3. Función umbral. __________________________________________________________ 25
Ecuación 4. Función sigmoide._________________________________________________________ 26
Ecuación 5. Función tangente hiperbólica. _______________________________________________ 26
Ecuación 6. Operador %. _____________________________________________________________ 52
Ecuación 7. Fórmula de ajuste. ________________________________________________________ 58
Ecuación 8. Fórmula de ajuste normalizado. ______________________________________________ 58
Ecuación 9. Error cuadrático medio. ____________________________________________________ 64
Ecuación 10. Error acumulado. ________________________________________________________ 64
Ecuación 11. Fórmula de la recta que usa la Función de Activación Atenuada en el Tiempo. ________ 70
Ecuación 12. Función de ajuste usando parsimonia. ________________________________________ 75
Ecuación 13. Función de ajuste incorporando coeficiente de seguridad. ________________________ 77
Ecuación 14. Relación entre las 2 señales a modelizar. ______________________________________ 78
Ecuación 15. Relación entre las 2 señales a modelizar en un sistema discreto.____________________ 78
Ecuación 16. Representación en el dominio Z. _____________________________________________ 78
Ecuación 17. Ecuación de equilibrio entre rotura por adherencia y por tracción. _________________ 86
Ecuación 18. Norma americana ACI. ____________________________________________________ 88
Ecuación 19. Norma europea EC2. _____________________________________________________ 89
Ecuación 20. Norma española EHE. ____________________________________________________ 90
Ecuación 21. Fórmula de Zuo. _________________________________________________________ 90
Ecuación 22. Funciones de activación sigmoide e hiperbólica tangente._________________________ 97
Ecuación 23. Mejor individuo obtenido GP1._____________________________________________ 112
Ecuación 24. Mejor individuo obtenido GP2._____________________________________________ 114
Ecuación 25. Mejor individuo obtenido GP3._____________________________________________ 115
Ecuación 26. Ecuación del hidrograma unitario.__________________________________________ 136
Ecuación 27. Mejor Individuo_________________________________________________________ 153
Ecuación 28. Función 1 obtenida de la PG. ______________________________________________ 170
Ecuación 29. Función 2 obtenida de la PG. ______________________________________________ 170
Índice 9

Ecuación 30. Función 3 obtenida de la PG. _____________________________________________ 170


Ecuación 31. Relación entre las 2 señales (lluvia y caudal) a modelizar en un sistema discreto. ____ 173
Ecuación 32. Transformada en Z del resultado de la PG.___________________________________ 176
Ecuación 33. Función de la transformada en Z. __________________________________________ 176
Índice 10
“Si buscas resultados distintos, no hagas
siempre lo mismo”

Albert Einstein

CAPÍTULO
1 INTRODUCCIÓN

1.1 Motivación
Los avances en el campo de la Inteligencia Artificial han tenido una fuerte
influencia en las diferentes áreas de la Ingeniería Civil. Los nuevos métodos y
algoritmos que han aparecido y están apareciendo permiten a los ingenieros usar estas
nuevas técnicas de maneras diferentes y sobre problemas de diversa naturaleza. Algunas
de estas áreas de aplicación, como la hidrología y la construcción se han desarrollado en
esta tesis, aunque la metodología propuesta es aplicable a cualquier ámbito de la
ingeniería.

La Inteligencia Artificial es la ciencia que permite el diseño de sistemas


inteligentes, es decir, que exhiben características que se asocian con la inteligencia
humana. Su objetivo es por un lado, hacer computadoras más útiles y, por otro, entender
los principios que hacen posible la inteligencia. Para ello se construyen o se programan
computadoras para que hagan tareas que si fuesen realizadas por un ser humano se diría
que son inteligentes.
Capítulo 1. Introducción 12

Una de las más rápidas y sólidas conclusiones que surgieron en las tres primeras
décadas de las investigaciones de la IA fue que la inteligencia necesita conocimiento, y
pronto se descubrió que el conocimiento posee algunas propiedades poco deseables,
como que es voluminoso, es difícil de caracterizar con exactitud, cambia
constantemente y se organiza de tal forma que se corresponde con la forma más
eficiente en que pueda ser usado.

En muchos ámbitos de la Ingeniería Civil, la forma en la que se obtienen modelos


de funcionamiento es basándose en la experiencia y en la obtención de datos de
ensayos. Los expertos intentan extraer el conocimiento de estos datos en forma de
ecuaciones y expresiones matemáticas, que en algunos casos, finalmente se traducen en
normativas que regulan los futuros diseños. Este patrón de comportamiento es, en cierta
medida, similar al proceso de aprendizaje de un ser humano, y como tal, se pueden
aprovechar las técnicas de Inteligencia Artificial que emulan este comportamiento.

La aparición de los computadores digitales y el desarrollo de las teorías acerca del


aprendizaje y del procesamiento neuronal se produjeron aproximadamente al mismo
tiempo, al final de los años cuarenta. A partir de este momento, los computadores
digitales han sido utilizados como herramientas para modelar neuronas individuales, así
como agrupaciones de neuronas, que se denominan Redes de Neuronas Artificiales.

La capacidad de pensar le viene al hombre de la enorme cantidad de elementos de


procesamiento de información, “neuronas”, que tiene en su cerebro, ¿por qué no se
podría esperar que máquinas capaces de realizar miles de millones de operaciones en
coma flotante por segundo sean capaces de “aprender” a partir de la experiencia?, igual
que lo hace un ingeniero cuando intenta diseñar un modelo.

Hay muchas tareas que resultan especialmente adecuadas para ser resueltas
mediante computadores convencionales, como la resolución de problemas matemáticos
o científicos, gestión de bases de datos, comunicaciones, procesamiento de textos,
gráficos etc. En cambio, hay muchas aplicaciones que se desean automatizar pero son
tan complejas de programar que impiden llevar a cabo esas tareas. En un alto grado de
Capítulo 1. Introducción 13

porcentaje, los problemas no son irresolubles, lo que sucede es que son difíciles de
resolver empleando procedimientos secuenciales. Esta distinción es importante porque
si la única herramienta de la que se dispone es un computador secuencial, entonces, de
forma natural, se intentarán resolver todos los problemas en términos de algoritmos
secuenciales. Hay muchos problemas que no son adecuados para ser resueltos de esta
manera, pero sin embargo se invierten grandes esfuerzos para desarrollar sofisticados
algoritmos que incluso no llegan a alcanzar una solución admisible.

El estudio de la biología puede ayudar en otros ámbitos como la ingeniería, y


viceversa, a orientarse y entender algunos de los términos empleados con frecuencia en
este dominio. No sólo es interesante como un dominio de investigación, sino que
también proporciona un conjunto rico de metáforas para ponderar la inteligencia. Un
ejemplo de este hecho es el caso de la Computación Evolutiva (CE) y las Redes de
Neuronas Artificiales (RNA) que son un enfoque computacional del comportamiento
basado en conceptos biológicos.

Tanto en biología como en ingeniería civil e informática, muchas de las


percepciones verdaderamente brillantes provienen del reconocimiento de que dos
puntos de vista, aparentemente distintos, son congruentes.

1.2 Objetivos
Con el desarrollo de esta tesis doctoral se pretende dar una nueva visión en la
resolución de problemas en la Ingeniería Civil explorando el desarrollo de sistemas
informáticos que combinan técnicas tan diferentes como son las Redes de Neuronas
Artificiales, los Algoritmos Genéticos y la Programación Genética. Estas técnicas
tienen, todas ellas, un punto en común, la búsqueda de soluciones en espacios grandes y
complejos, donde se requiere gran capacidad de adaptación y trabajar con datos del
mundo real; que tiene como principales inconvenientes, el ser, en la mayoría de los
casos incompletos, imprecisos, inconsistentes e inciertos.

El objetivo principal de esta tesis doctoral es el diseño, la implementación y la


demostración de la aplicabilidad de los Sistemas Conexionistas y la Computación
Capítulo 1. Introducción 14

Evolutiva a la Ingeniería Civil. Para ello se desarrolla una herramienta informática que
permita al ingeniero la aplicación de estas técnicas en diversos campos de una forma
cómoda y práctica sin necesidad de un conocimiento profundo de estas técnicas
informáticas.

Se probará el sistema desarrollado en problemas de diferente naturaleza


relacionados con 2 áreas de la ingeniería civil:

• Ingeniería de la Construcción: Dentro del área de la construcción, uno de los


problemas que se le plantean al ingeniero civil se centra en el campo de la
adherencia entre el hormigón y el acero, una de las bases del correcto
funcionamiento del hormigón estructural. El planteamiento de la formulación
de adherencia para hormigón armado se suele abordar en función de la
longitud de anclaje necesaria para conseguir el correcto anclaje de la barra.
Actualmente no existen formas de medir empíricamente la longitud de anclaje,
por lo que se emplean distintas aproximaciones normativas.

En este caso se pretende buscar una solución obtenida por métodos evolutivos,
en concreto mediante la técnica de Programación Genética (PG), al problema
del cálculo o determinación de las longitudes de anclaje de armaduras pasivas
de acero en vigas de hormigón armado. Así mismo se utilizarán RR.NN.AA.
para dar un resultado más predictivo pero menos interpretable.

• Hidrología: El desarrollar un modelo de transformación lluvia-escorrentía en


una cuenca hidrográfica permite pronosticar el riesgo de las condiciones de
lluvia para la cuenca y dar la alarma para proteger de inundaciones. El
objetivo de los ingenieros, en este caso, es construir un sistema autónomo y
que se adapte continuamente a las características del terreno, capaz de realizar
predicciones en tiempo real de los diferentes cambios de nivel del agua en el
cauce producidos por la lluvia.

En este caso, se propone la aplicación de dos técnicas de Inteligencia


Artificial: las Redes de Neuronas Artificiales y la Programación Genética.
Capítulo 1. Introducción 15

Se pretende mostrar cómo estas dos técnicas pueden trabajar conjuntamente


para resolver el problema de la predicción del caudal de una cuenca urbana.
Con los resultados que se obtengan se compararán con las técnicas clásicas de
la hidrología, como por ejemplo los hidrogramas unitarios. Por último se
analizarán las ventajas e inconvenientes que producen.

1.3 Estructuración de la tesis


La presente tesis está estructurada en varios capítulos de forma que partiendo de
una serie de datos sobre los métodos y técnicas existentes actualmente, analizar las
diversas formas de conseguir uno por uno los diferentes objetivos que se acaban de
presentar.

En el capítulo 2, se verá qué son las RR.NN.AA., tanto desde la perspectiva


biológica como desde la perspectiva artificial de sus componentes y la interrelación
entre ellos. Se mostrará cual es el proceso de entrenamiento de estas RR.NN.AA. y los
tipos, así como las características específicas de las redes con Arquitectura Recurrente.
Con ello, se pretende identificar que datos son necesarios sobre la complejidad de las
diferentes estructuras de las RR.NN.AA. Se aportarán nociones de lo que se entiende
por Computación Evolutiva, Algoritmos Genéticos y Programación Genética, su
funcionamiento y la forma en la que se realiza el algoritmo de extracción de expresiones
aritméticas que obtenga todas las ventajas de la CE en la resolución de problemas
vinculados a la Ingeniería Civil.

A continuación, en el capítulo 3, se presentará el diseño del sistema donde se


expondrán los aspectos más relevantes del sistema desarrollado, analizando los
diferentes módulos de los que consta y los aspectos innovadores que se han
implementado en cada caso.

Los dos capítulos siguientes están dedicados a los resultados obtenidos dentro de
los dos ámbitos de estudio de la tesis (Capítulo 4 – Resultados en el área de
Construcción, y Capítulo 5 – Resultados en el área de Hidrología) en cada capítulo se
Capítulo 1. Introducción 16

abordará un problema concreto desde distintas técnicas y se presentará una comparativa


de los resultados obtenidos.

Para concluir se exponen las conclusiones halladas en la realización de la presente


tesis y se plantea la ampliación de la misma.

La última parte de esta tesis (sección de anexos) se dedica al manual de usuario de


la aplicación informática desarrollada. En él se muestra con todo detalle las diferentes
opciones incluidas en la aplicación con pantallas autoexplicativas de ejemplos de
ejecuciones de preparación de los datos, extracción de expresiones, construcción de
RNA, etc.
“El experimentador que no
sabe lo que está buscando
no comprenderá lo que
encuentra”

Claude Bernard

CAPÍTULO
2 FUNDAMENTOS

Se denomina Inteligencia Artificial (IA) a la ciencia que intenta la creación de


programas para máquinas que permitan imitar el comportamiento humano. Los
primeros desarrollos relacionados con la IA datan de 1950 cuando se propone el “Test
de Turing” [TURI 50]. Además, Alan Turing formuló la cuestión “¿Pueden pensar las
máquinas?” [TURI 37]. Él aventuró que, en el plazo de un siglo, un ordenador debería
ser capaz de pasar un test de inteligencia estándar (conocido como “El test de Turing”)
en no menos del 30% de pruebas que se realizasen. A principios del siglo XXI, pocos
investigadores comparten la confianza que tenía Turing en que una máquina probaría su
inteligencia en un corto período de tiempo. Sin embargo, muchos investigadores sí se
dedican al desarrollo de tal máquina. Este es el objetivo del trabajo en el campo de los
sistemas adaptativos y de la IA.

El término sistemas adaptativos abarca numerosas técnicas que, aplicadas a un


problema, ajustan la relativa importancia de los parámetros de entrada de manera
autónoma para conseguir la resolución de ese problema. Se quiere conseguir, por tanto,
Capítulo 2. Fundamentos 18

una autonomía en el aprendizaje de las máquinas, lo cual llevaría a un antiguo sueño en


el reciente campo de estudio de la Inteligencia Artificial: la Programación Automática.

Ya en la década de los 50 Arthur Samuel planteó esta cuestión: "¿Cómo pueden


los ordenadores aprender a resolver problemas sin ser explícitamente programados?".
Con esta pregunta se iniciaba la creación de un nuevo campo de investigación basado en
copiar estructuras presentes en la naturaleza, con el objetivo de conseguir sistemas que
se adaptasen a su entorno de un forma similar a lo que ocurre en la naturaleza, campo de
estudio llamado Computación Evolutiva.

Hoy en día, a pesar de que todavía se ve lejos aquella afirmación realizada por
Turing, los investigadores sí son más optimistas respecto a la Programación
Automática, dado el gran éxito que han tenido las técnicas de computación evolutiva, en
concreto los Algoritmos Genéticos (AA.GG.) [HOLL 75] y la Programación Genética
(PG) [KOZA 90][KOZA 92], y los buenos resultados que han conseguido en la
resolución de problemas para los cuales las técnicas tradicionales no eran válidas.

Sin embargo, tal vez la técnica adaptativa que más éxito ha tenido en el mundo de
la Inteligencia Artificial (IA) sean las Redes de Neuronas Artificiales (RR.NN.AA.), y
han sido aplicadas con éxito a una gran cantidad de entornos distintos, desde
empresariales al mundo de la medicina y a la Ingeniería Civil (tal como se presenta en
la esta tesis), dada su gran versatilidad y las ventajas que ofrecen, como pueden ser
abstracción, tolerancia a fallos, etc. En el libro “Artificial Neural Networks in Water
Supply Engineering” de ASCE [SRIN 05] se ofrece una detallada explicación de su
utilización en el ámbito de la hidrología e ingeniería sanitaria y ambiental.

Todo este conjunto de técnicas ofrece al experto un panorama en el cual existe


una gran variedad de técnicas disponibles para resolver problemas de diversa
naturaleza. Sin embargo, la aplicación de estas técnicas no es trivial. A menudo es
necesario tener un profundo conocimiento de cada una de las técnicas para ser capaz de
aplicarlas de una forma satisfactoria.
Capítulo 2. Fundamentos 19

Este es el caso, por ejemplo, de las RR.NN.AA., en las cuales tienen un proceso
de desarrollo que está fuertemente marcado por la intervención humana, y que está
basado en la experiencia previa del experto que las utilice. Esto convierte este desarrollo
en un proceso lento y repetitivo.

Desde el punto de vista del ingeniero civil, posiblemente no muy familiarizado


con los conceptos relacionados con el mundo de la IA, lo deseable es tener un sistema
que funcione de forma totalmente automatizada, en el cual se puedan obtener resultados
con una mínima participación, o incluso sin ella, lo cual sería el mejor caso. Esta es la
línea que se propone en este trabajo, el desarrollo de un sistema lo más sencillo e
intuitivo para el usuario final.

Para poder diseñar y realizar un sistema que manipule las RR.NN.AA., y en cierta
medida, mejore su funcionamiento para ciertos problemas específicos, es necesario
conocer la técnica con un cierto grado de profundidad. Para ello, se van a exponer los
conceptos fundamentales de las neuronas artificiales y su interconexión formando la
RNA. El estudio se centrará en explicar aquellas partes relativas al tema que se tratará
en esta tesis. Para ello, es necesario conocer las diferentes arquitecturas de RNA, los
diferentes tipos de neuronas o elementos de proceso existentes, el proceso de
entrenamiento y la puesta en funcionamiento de las mismas. Se explicará en detalle la
construcción de los ficheros de entrada-salida para el proceso de entrenamiento y
ejecución, incluyendo la normalización de los mismos.

Una técnica de Computación Evolutiva con auge en los últimos años es la


Programación Genética (PG), y una forma de utilizar la PG es como algoritmo
inductivo mediante regresión simbólica, es decir, al igual que la RNA, intenta extraer el
conocimiento de cómo resolver un problema a partir de una serie de datos empíricos
obtenidos de dicho problema. Sin embargo, a diferencia de una RNA, que funciona
como un sistema de caja negra, es decir, a partir de unos datos de entrada la RNA
produce unas salidas, pero sin conocer el proceso interno, la PG utiliza un proceso de
extracción de expresiones aritméticas utilizando el descubrimiento de conocimiento en
los patrones de datos entrada-salida de los datos empíricos. Para poder realizar esta
Capítulo 2. Fundamentos 20

tarea es preciso conocer cómo funcionan los métodos evolutivos, los operadores
genéticos y cómo se pueden codificar los problemas en forma de individuos y material
genético, y cómo actúa el proceso de evolución natural en la búsqueda de soluciones.

2.1 Redes de Neuronas Artificiales


E1 primer modelo de neurona artificial fue propuesto por McCulloch y Pitts
donde modelizaban una estructura y un funcionamiento simplificado de las neuronas del
cerebro, considerándolas como dispositivos con “m” entradas, una única salida y sólo
dos estados posibles: activa o inactiva [MCCL 43].

Una RNA era, en ese planteamiento inicial, una colección de neuronas de


McCulloch y Pitts, todas sincronizadas, donde las salidas de unas neuronas estaban
conectadas a las entradas de otras. Algunos de los planteamientos de McCulloch y Pitts
se han mantenido desde 1943 sin modificaciones, otros por el contrario han ido
evolucionando, pero todas las formalizaciones matemáticas que se han realizado desde
entonces sobre las RR.NN.AA., aún sin pretender ser una modelización exacta de las
redes de neuronas biológicas, sí han resultado un punto de partida útil para el estudio de
las mismas.

Una de las definiciones que se estima más certera de RNA es la siguiente: “Las
redes neuronales son conjuntos de elementos de cálculo simples, usualmente
adaptativos, interconectados masivamente en paralelo y con una organización jerárquica
que le permite interactuar con algún sistema del mismo modo que lo hace el sistema
nervioso biológico” [KOHO 88]. Su aprendizaje adaptativo, auto-organización,
tolerancia a fallos, operación en tiempo real y fácil inserción dentro de la tecnología
existente, ha hecho que su utilización se haya extendido en áreas como la biología,
finanzas, industrial, medio ambiente, militar, salud, etc. [HILE 95]. Están funcionando
en aplicaciones que incluyen identificación de procesos [GONZ 98], detección de fallos
en sistemas de control [ANDR 95] modelación de dinámicas no lineales [MEER 98]
[WANG 98], control de sistemas no lineales [BLOC 97] [LEVI 93] y optimización de
procesos [OLLE 98] [ALTI 98] [AGUI 98].
Capítulo 2. Fundamentos 21

En general, se puede encontrar que una RNA se suele caracterizar por tres partes
fundamentales: la topología de la red, la regla de aprendizaje y el tipo de
entrenamiento.

Los investigadores intentan emular el funcionamiento del cerebro mediante el


desarrollo de las RRNNAA, para ello es necesario simular tanto su estructura como su
funcionamiento, se han desarrollado numerosos modelos de RNA [FREE 93], entre los
que se pueden mencionar: Perceptron (1957), Adeline y Madeline (1960), Avalancha
(1967), Retropropagación (1974), Hopfield y SOM (1980), ART (1986), etc. De los
modelos anteriores se puede apreciar que esta idea tiene más de 40 años, sin embargo,
sólo en las últimas décadas se ha desarrollado la tecnología que permita su aplicación de
manera eficiente. Aunque se han propuesto una gran cantidad de modelos, todos usan
una estructura en red en la cual los nodos o neuronas son procesos numéricos que
involucran estados de otros nodos según sus uniones.

Desarrollo:
Desarrollo de NO
la Arquitectura
Neuronal
Fase de Fase de
¿Válido?
Aprendizaje Test
Tarea a Selección de
Resolver los patrones de
Aprendizaje SI

Selección de
los patrones de
Test
Sistema
Entrada
Neuronal

Operación:
Salida

Figura 1. Modo de trabajo con Redes de Neuronas Artificiales.


Capítulo 2. Fundamentos 22

Las RR.NN.AA. se han hecho muy populares debido a la facilidad en su uso e


implementación (ver Figura 1) y la habilidad para aproximar prácticamente cualquier
función matemática.

Las RR.NN.AA., con su marcada habilidad para obtener resultados de datos


complicados e imprecisos, pueden utilizarse para extraer patrones y detectar
comportamientos que son muy difíciles de apreciar por expertos humanos u otras
técnicas computacionales. Una red neuronal entrenada puede usarse como un “experto”
para categorizar la información que se ha dado para su análisis. Este experto puede
usarse para proveer proyecciones de nuevas situaciones.

Las ventajas más reseñables de las RR.NN.AA. son las siguientes:

1. Aprendizaje adaptativo. Capacidad de aprender a realizar tareas basadas


en un entrenamiento o una experiencia inicial.

2. Auto-organización. Una red neuronal puede crear su propia organización


o representación de la información que recibe durante la etapa de
aprendizaje.

3. Tolerancia a fallos gracias a poseer la información distribuida o vía


información redundante. La destrucción parcial de una red puede
conducir a una degradación de su estructura; sin embargo, algunas
capacidades de la red se pueden retener, incluso sufriendo daños
considerables.

4. Capacidad de generalización. Ante la entrada de datos nuevos es capaz


de producir resultados coherentes de acuerdo con la naturaleza del
problema para el cual han sido entrenadas.

5. Operación en tiempo real. El cómputo neuronal puede realizarse en


paralelo, bien vía software o mediante máquinas especiales para obtener
esta ventaja (hardware conexionista o masivamente paralelo).
Capítulo 2. Fundamentos 23

Estas propiedades hacen atractivas a las RR.NN.AA. para determinadas


aplicaciones comerciales, militares e industriales [HERN 93], y por supuesto, para
múltiples facetas dentro de la Ingeniería Civil.

2.1.1 Fundamentos y Conceptos Básicos de las RR.NN.AA.


La neurona artificial o elemento formal está conceptualmente inspirada en la
neurona biológica. Esto es, los investigadores están en su inmensa mayoría pensando en
la organización cerebral cuando consideran configuraciones y algoritmos de RNA.

Se va a considerar una neurona como un elemento formal o módulo o unidad


básica de la red que recibe información de otros módulos o del entorno; la integra, la
computa y emite una única salida que se va a transmitir a múltiples neuronas posteriores
[WASS 89].

En una RNA existe un peso o fuerza sináptica que va a ser un valor numérico que
pondera las señales que se reciben por sus entradas. Este peso será un valor que
determina la fuerza de conexión entre 2 neuronas. Cuando se evalúa una neurona se
deben calcular todas las fuerzas o valores (denominado NET) que se reciben por sus
entradas. Una vez calculado el valor conjunto de todas las entradas se aplica una
función de activación (FA) que determinará el valor del estado interno de la neurona y
que será lo que se transmita a su salida.

La combinación de las señales que recibe una neurona se puede computar como sigue:

∑ [W ]
N −1
NET i ( t ) = ij * O j * (t − 1 )
j=0

Wij = Peso de la conexión entre la neurona j (que emite) y la neurona i (que recibe).

Ecuación 1. Combinación de señales de una Neurona.


Capítulo 2. Fundamentos 24

La función de activación y la función de transferencia son las encargadas de


definir el nuevo estado de activación interno de la neurona que se determinará por la
función de activación utilizada y la respuesta Oi de la neurona. Tanto el estado de
activación como la salida de la neurona van a estar en función de las entradas que recibe
en un determinado momento y del estado de activación previo que tenga esa neurona.

W1

Σ
W2 NET
Salida

W3 F

Figura 2. Neurona Artificial.

2.1.1.1 Función de activación de la neurona

Va a relacionar la información de entrada de la neurona con el siguiente estado de


activación que tenga esa neurona. Existen dos modelos de función de activación:

• Modelos acotados: El valor de la activación de la neurona puede ser


cualquiera dentro de un rango continuo de valores.

• Modelos no acotados: No existe ningún límite para los valores de activación.

Cuando se diseña una RNA debe establecerse como van a ser los valores de
activación de cada neurona y se debe decidir la función de activación (FA) con la que
cada neurona procesará las entradas. Por lo tanto, la FA va a actuar sobre las señales de
entrada, sobre los pesos asociados con cada entrada y sobre el valor de activación que
tenía la neurona en el momento de recibir las señales.

Ai (t) = FA (Ai (t-1), NETi (t-1))

Ecuación 2. Función de Activación.


Capítulo 2. Fundamentos 25

2.1.1.2 Tipos de neuronas

La linealidad de las funciones que definen a los elementos de la red es quizás lo


que va a proporcionar la característica más definitoria. Así, se pueden clasificar las
neuronas en lineales y no lineales.

2.1.1.2.1 Neuronas lineales

Una neurona es lineal cuando su salida es linealmente dependiente de sus


entradas, es proporcional a las funciones de transferencia y de activación.

Esto conlleva ciertos problemas como la falta de persistencia en las respuestas, de


modo que cambios muy pequeños en las entradas pueden producir fluctuaciones
bastante grandes en las respuestas, o la falta de adecuación simultánea, pues es
imposible que con neuronas lineales la respuesta de una neurona se adapte tanto a
señales grandes como a pequeñas.

2.1.1.2.2 Neuronas no lineales

En estas neuronas, o bien la función de activación o bien la función de


transferencia, o ambas, es una función no lineal, dando lugar a que la respuesta de la
neurona no sea función lineal de sus entradas.

Este tipo de neuronas van a producir respuestas acotadas, desapareciendo los


problemas de fluctuación y la falta de adecuación a señales pequeñas y grandes.

Como funciones no lineales se destacan las siguientes:

OUT

⎧ 1 si NET > 0
OUT = ⎨
⎩− 1 si NET < 0 NET

-1

Ecuación 3. Función umbral.


Capítulo 2. Fundamentos 26

OUT

1
OUT = 0.5

1 + e − NET
NET

Ecuación 4. Función sigmoide.

1
OUT

1 − e − NET
OUT = 0

1 + e − NET NET

-1

Ecuación 5. Función tangente hiperbólica.

2.1.2 Arquitecturas de RNA


2.1.2.1 Redes alimentadas hacia delante.

Son aquellas en las que, como su nombre indica, la información se mueve en un


único sentido, desde la entrada hacia la salida. Estas redes están clásicamente
organizadas en “capas”. Cada capa agrupa a un conjunto de neuronas que reciben
informaciones de las neuronas de la capa anterior y emiten salidas hacia las neuronas de
la capa siguiente. Entre las neuronas de una misma capa no hay conexiones.

En este tipo de redes existe al menos una capa de entrada, formada por las
neuronas que reciben las señales de entrada a la red y una capa de salida, formada por
una o más neuronas que emiten la respuesta de la red al exterior. Entre la capa de
entrada y la de salida existen una o más capas intermedias.

En redes así construidas es evidente que la información sólo puede moverse en un


sentido: desde la capa de entrada hasta la capa de salida, atravesando todas y cada una
de las capas intermedias una sola vez.
Capítulo 2. Fundamentos 27

0.14 -0.58
1 3 4
Entrada Salida

0.86 0.98

Figura 3. RNA alimentada hacia delante.

El procesamiento de la información en estas redes se realiza en un tiempo


predeterminado e igual para todas las posibles configuraciones de señales de entrada.

El hecho de que no haya conexión entre las neuronas de una misma capa hace que
no haya tiempos de espera en los que las neuronas estén interactuando unas sobre otras
hasta que toda la capa adquiera un estado estable. Se trata por tanto de redes rápidas en
sus cálculos.

2.1.2.2 RNA con Retroalimentación total o parcial.

En este tipo de redes los elementos pueden enviar estímulos a neuronas de capas
anteriores, de su propia capa o a ellos mismos, por lo que desaparece el concepto de
agrupamiento de las neuronas en capas. Cada neurona puede estar conectada a todas las
demás; de este modo, cuando se recibe información de entrada a la red, cada neurona
tendrá que calcular y recalcular su estado varias veces, hasta que todas las neuronas de
la red alcancen un estado estable. Un estado estable es aquel en el que no ocurren
cambios en la salida de ninguna neurona. No habiendo cambios en las salidas, las
entradas de todas las neuronas serán también constantes, por lo que no tendrán que
modificar su estado de activación ni su respuesta, manteniéndose así un estado global
estable [PEAR 90].

En este tipo de redes no hay forma de saber cuánto se tardará en alcanzar un


estado estable. Además, unos estímulos de entrada provocarán que se alcance el estado
estable en menos tiempo que otros.
Capítulo 2. Fundamentos 28

0.16 0.35
0.14
1 3
Entrada -0.58 Salida

0.16
0.98
0.86
-0.91

0.22

Figura 4. RNA con retroalimentación.

Las RR.NN.AA. retroalimentadas emulan más fielmente la estructura del cerebro


humano, en donde los fenómenos de retroalimentación son fundamentales.

En una RNA con retroalimentación no hay una relación biunívoca entre una
entrada y una salida. Permite considerar la historia previa de información que ha
recibido la RNA para evaluar la salida.

2.1.3 Manejo de la información en las RR.NN.AA.


En este apartado se presentan los tipos de información que maneja una RNA, así
como los métodos para alimentarla con dicha información; en otras palabras, se verá
cómo se le presenta a la RNA el problema que debe resolver. También se verán los
problemas típicos con los que las redes se enfrentan.

La información de entrada en números tiene que ser adecuada para las funciones
de activación y transferencia de la RNA y se deben distribuir esas informaciones Oj
entre las neuronas de la capa de entrada de forma adecuada.

Se observa, por tanto, que a la hora de diseñar una RNA es necesario realizar un
análisis tanto de la información de entrada que hay que suministrarle para presentarle el
problema, como de la información de salida que la RNA proporcionará como solución a
dicho problema.

Si los datos de entrada, es decir, la información del problema que se desea que la
RNA resuelva, no se pueden representar mediante valores dicotómicos, se tendrán que
Capítulo 2. Fundamentos 29

modificar las funciones de la red para hacerla así capaz de trabajar con valores Oj con
los que se puedan representar los datos.

Si, por ejemplo, se trabaja con información incierta, en donde sólo se puede dar
un valor de la probabilidad de que un determinado elemento pertenezca a un conjunto,
se necesitará que la función sea continua para poder expresar valores de probabilidad y
el rango de los Oj irá de 0 a 1.

Si los valores de Oj son continuos y los datos también, se tendrá que volver a
normalizar los datos de entrada para hacerlos corresponder con el rango de valores que
los Oj pueden tomar. Es decir, es necesario reajustar la escala de los datos para que se
adapte a la escala de los Oj. Así, si por ejemplo un dato de entrada es una longitud en
metros (desde 0 a 1.000 m.) y los Oj se mueven desde -1 a 1 se tendrá que establecer
una correspondencia en la que a 0 m. le corresponda -1, a 1.000 m. le corresponda +1, a
500 m. le corresponda 0, etc.

En cuanto al proceso de normalización se pueden realizar tres clases de


transformación de los datos [SHI 00]: transformación lineal, estandarización estadística
y funciones matemáticas. La transformación lineal es la técnica más empleada, en este
caso, se escalan los valores al rango [0, 1] o [-1, 1] de forma lineal. El objetivo es
asegurar que todas las variables (entradas de la RNA) reciben igual atención en el
proceso de entrenamiento y son escaladas de acuerdo a los límites de las funciones de
activación utilizadas en las neuronas de la capa de salida de la RNA.

En la estandarización estadística, el escalado involucra la resta de una cierta


medida, como por ejemplo la media aritmética, y dividir por un cierto valor, como por
ejemplo la desviación estándar. Cualquier escalado que establezca una tendencia central
próxima a cero suele ser beneficioso en el proceso de inicialización de los pesos de la
RNA.

La última transformación se basa en funciones matemáticas como por ejemplo


aplicar la función logaritmo sobre los datos, con el objetivo de estabilizar la variancia
[FARA 98]. El aplicar el logaritmo o la raíz cuadrada, se usa principalmente para
Capítulo 2. Fundamentos 30

aproximar los datos a distribuciones Gausianas con el objetivo de minimizar el efecto de


los valores extremos del rango.

Se ha demostrado [BOWD 03] [SHI 00] que transformar las entradas de la RNA
para que sigan una distribución uniforme puede ayudar a un mejor proceso de
conversión y transformación en los valores de salida por la RNA y, en consecuencia, un
mejor proceso de entrenamiento de la red. Una forma de conversión a una distribución
uniforme cuando los datos no siguen ninguna distribución probabilística conocida es la
ecualización del histograma [LOON 97].

En el sistema desarrollado en la presente tesis se incorpora un módulo capaz de


realizar, de forma más cómoda, estos procesos.

2.1.4 Entrenamiento de las RR.NN.AA.


Una vez diseñada la arquitectura de la RNA (capas y número de neuronas por
capa) y las funciones que la regirán, se tiene que proceder a entrenar la red para que
“aprenda” el comportamiento que debe tener; es decir, para que aprenda a dar la
respuesta adecuada a la configuración de estímulos o patrón de entrada que se le
presente [PAZO 96].

En las RR.NN.AA. se distinguen dos periodos o fases claramente diferenciados.


Durante la fase de aprendizaje se entrena a la red para que vaya modificando sus pesos
de conexiones, adaptándolos paulatinamente para que la respuesta de la red sea la
correcta. Después, viene la fase de funcionamiento real o fase de ejecución, durante
la cual la RNA ya es operativa y sus pesos de conexiones no volverán a ser
modificados. Durante esta fase se usa la RNA como si se tratara de cualquier otro
programa informático convencional.

2.1.4.1 Proceso de aprendizaje supervisado

En esta técnica de aprendizaje el entrenamiento consiste en presentarle a la RNA


repetitivamente patrones de estímulos de entrada pertenecientes a un juego de ensayo.
Capítulo 2. Fundamentos 31

El juego de ensayo está formado por parejas “patrón de estímulos - respuesta


correcta” y debe de ser elegido cuidadosamente. Cada pareja se denomina hecho. En el
juego de ensayo debe estar representada equilibradamente toda la información que la
RNA necesite aprender.

Al realizar el entrenamiento, la respuesta que da la RNA a cada patrón se compara


con la respuesta correcta ante dicho patrón y, en virtud de esa comparación, se reajustan
los pesos de las conexiones. El reajuste de los pesos de las conexiones está orientado a
que, ante el patrón de entrada, la red se acerque cada vez más a la respuesta correcta.

Cuando ante un patrón de entrada la RNA ya responde bien, se pasa al siguiente


patrón del juego de ensayo y se procede de la misma manera.

Cuando se termina con el último patrón del juego de ensayo, se tiene que volver a
empezar con el primero, ya que los pesos se han seguido modificando.

En casos sencillos, al cabo de unos pocos pasos de entrenamiento completos, con


todos los elementos del juego de ensayo, los pesos de conexiones de todas las neuronas
se estabilizan en torno a unos valores óptimos. Se dice entonces que el algoritmo de
aprendizaje converge. Es decir, después de sucesivas presentaciones de todos los
patrones estimulares del juego de ensayo, la RNA responderá correctamente a todos
ellos y se puede considerar entrenada y dar por terminada la fase de aprendizaje.

2.1.4.2 Ejecución

Tras la fase de entrenamiento viene la fase de ejecución, durante la cual se le


pedirá a la RNA que responda a estímulos diferentes a los presentados durante la fase de
entrenamiento. Gracias a los ejemplos aprendidos del juego de ensayo, la RNA deberá
ser capaz de generalizar y dar respuestas correctas ante patrones de estímulos nuevos.

En otras palabras, una vez terminado el aprendizaje, una red puede generalizar; es
decir, ante entradas similares a las de su juego de ensayo, producirá salidas correctas.
Hay que tener en cuenta que es muy difícil conseguir la capacidad de generalización de
una RNA sin utilizar grandes cantidades de datos y que estos sean muy variados.
Capítulo 2. Fundamentos 32

Para operar con una RNA entrenada, el proceso es el mismo que cuando se
realizaba el entrenamiento: se le sigue suministrando información de entrada a la red,
sólo que ahora no se realizará ningún ajuste en los pesos de las conexiones. La RNA
reconocerá, evaluará y dará una respuesta.

Para conseguir el mejor rendimiento de generalización, los datos usados para el


entrenamiento deben cubrir un rango de hechos suficientemente amplio. En general,
cuando aumenta el tamaño y variedad del juego de ensayo disminuye la necesidad de
que los datos de entrada durante la fase de trabajo normal se parezcan mucho a los
patrones del juego de ensayo; es decir, la red generalizará mejor. Pero si los datos de un
problema se diferencian demasiado de todos los patrones del juego de ensayo, la red
tendrá dificultades para encontrar la respuesta correcta.

2.1.4.3 Selección de los elementos del juego de ensayo

En vista de la gran cantidad de información que se le puede proporcionar a una


RNA, se ha de buscar un criterio de selección para crear el juego de ensayo.

En el juego de ensayo debe de haber suficientes hechos: parejas “patrones de


estímulos - respuesta correcta”. Además, los hechos del juego de ensayo deberán cubrir
ampliamente la totalidad de las características del problema al que la RNA debe de
enfrentarse.

No se debe desechar alegremente información por pensar que es irrelevante. A


menudo, las RR.NN.AA. pueden encontrar asociaciones que nunca se hubiese supuesto
que existiesen. Se debe, por el contrario, entrenar a la red con cualquier pieza de
información disponible y, simultáneamente, entrenar otra RNA con los hechos mínimos
que se consideran imprescindibles, para luego cotejar cual de las dos redes se comporta
mejor. Puede resultar una curiosa experiencia el descubrir cuales son los hechos
realmente importantes.

Por otra parte, a una RNA evaluadora, es importante mostrarle tanto los patrones
de entrada que llevan a evaluaciones positivas, como los patrones de entrada que llevan
a evaluaciones negativas. Es decir, el entrenamiento de la RNA debe incluir situaciones
Capítulo 2. Fundamentos 33

que se evalúen negativamente, pues de lo contrario la red simplemente aprenderá que


todo está correcto siempre. También se debe incluir en el juego de ensayo cada uno de
los casos en los cuales el valor de una entrada es causa de un “mal” resultado. Por
ejemplo, una RNA que evalúe la capacidad de un avión para volar debe saber que un
indicador de combustible que marque vacío es definitivamente malo y que el avión no
estará en disposición de volar.

Por otra parte, no se puede incluir en el juego de ensayo una colección


exageradamente grande de hechos. Es necesario seleccionar aquellos hechos que
reflejen claramente cada uno de los patrones a reconocer y las situaciones extremas de
evaluación.

Lo ideal es preparar una colección amplia de hechos de entrenamiento que cubran


todos los problemas a los que se pueda tener que enfrentar la red. Después de esa amplia
colección de hechos, se seleccionarán algunos de ellos para el juego de ensayo, teniendo
cuidado de que todos los problemas queden bien representados.

2.1.5 Redes Recurrentes


Cuando se trabaja con patrones dinámicos; es decir, con patrones de secuencias en
los que aparece el concepto tiempo, las RR.NN.AA. alimentadas sólo hacia adelante se
encuentran bastante limitadas ya que no permiten conexiones que unan neuronas
creando bucles.

En las RR.NN.AA. recurrentes no se impone ninguna restricción en su


conectividad, con lo que se gana un número mayor de pesos por neurona y dado que las
RR.NN.AA. representan la información de forma distribuida en sus pesos, una mayor
representatividad.

Así, la principal característica de este tipo de redes es la de realimentar su salida a


la entrada, evolucionando hasta un estado de equilibrio donde proporciona la salida final
de la RNA [DEMU 94]. Esta característica las hace útiles cuando se quiere simular
Capítulo 2. Fundamentos 34

sistemas dinámicos; sin embargo, su entrenamiento es más lento que el de una red
alimentada sólo hacia delante, y a la vez mucho más complejo.

El primer algoritmo de entrenamiento de este tipo de redes aparece en 1987,


cuando se adapta el algoritmo de retropropagación del error de las RR.NN.AA.
alimentadas sólo hacia delante a las redes recurrentes aplicadas a patrones estáticos
“Recurrent Backpropagation” y se pudieron aplicar estas redes a los mismos problemas
a los que se aplicaban las multicapa alimentadas hacia delante.

Además, otros investigadores se centran en desarrollar aproximaciones del


algoritmo de aprendizaje que lo hagan más práctico surgiendo el algoritmo llamado
“Real-Time Recurrent Learning” o RTRL, indicado para tareas en tiempo real [WILL
89].

A partir de entonces, las redes recurrentes se han venido aplicando en un buen


número de tareas, desde reconocimiento del habla hasta la simulación de autómatas
finitos. Sin embargo, la aplicación de RNA recurrentes presenta un mayor número de
problemas. En el caso de patrones estáticos, una red recurrente funciona presentándole
un patrón, haciendo después evolucionar la red hasta que sus salidas se estabilizan. Sin
embargo, esto no está asegurado, pudiéndose dar comportamientos oscilatorios o
caóticos y aunque existen estudios para establecer las condiciones para que esto no
ocurra, se limitan a ciertas arquitecturas muy concretas como las Hopfield.

E1 caso de los patrones dinámicos es todavía más complicado, ya que si se sabe


poco del comportamiento de una red recurrente (por ejemplo la dificultad de
estabilizarse), se sabe aún menos de su comportamiento dinámico. El poco
conocimiento es empírico y no existen estudios formales ni de la RNA recurrente más
simple: una neurona aislada con una conexión a sí misma. Tampoco existen estudios
teóricos que avalen utilizar un algoritmo basado en el descenso del gradiente para tareas
de tratamiento de patrones dinámicos. Un problema sencillo, como es enseñar a oscilar
a una neurona aislada con realimentación, da muchos problemas del tipo de mínimos
locales y hasta ahora no se conoce su justificación teórica.
Capítulo 2. Fundamentos 35

Además, en redes multicapa se conoce más o menos bien qué arquitectura hay que
utilizar en la mayoría de los problemas, gracias a conocimientos basados
fundamentalmente en la experiencia. Sin embargo, por una parte, la variedad
arquitectónica en redes recurrentes es infinitamente superior, por lo que su diseño es
más complicado y, por otra, la gran variedad de este tipo de patrones hace difícil su
categorización.

Recientemente han aparecido nuevos algoritmos, basados en Computación


Evolutiva, que mejoran el entrenamiento de este tipo de RNA. En la presente tesis se
utilizan los Algoritmos Genéticos para el proceso de entrenamiento debido a su
característica de algoritmos de búsqueda masivamente paralelos que pueden aplicarse
en ámbitos donde no se conoce con detalle el problema a resolver. Además, el mismo
algoritmo se puede utilizar para entrenar RR.NN.AA. con cualquier arquitectura y
alimentadas sólo hacia delante o recurrentes. Con esto se consigue un sistema
relativamente sencillo para el usuario final, en el que el proceso de entrenamiento es
común a cualquier arquitectura.

2.1.6 Aprendizaje por épocas


El aprendizaje de RNA recurrentes se puede realizar por épocas. La RNA se
hace evolucionar durante un periodo de tiempo (época) en el que se le ha introducido
una secuencia de ejemplo y debe dar la respuesta adecuada. Una vez llegado al final de
una época se reinicializa la red para que el estado inicial no dependa del estado final de
la época anterior y se entra en una nueva época. La variación de los pesos sólo se realiza
al acabar cada época y de la misma forma que en las multicapa, se podrá llevar a cabo
“por lotes” (calcular todos los incrementos de los patrones-épocas) o de forma
incremental (después de cada patrón-época), siendo ésta última, la más utilizada en
RNA recurrentes.
Capítulo 2. Fundamentos 36

2.1.7 Aprendizaje en modo continuo


Además de “por épocas”, existe el modo de operación continuo, donde en ningún
momento se inicializa la RNA. Este tipo es el más apropiado para aplicaciones en
tiempo real y con comportamientos temporales, donde no se sabe “a priori” la salida
deseada. El aprendizaje suele ser distinto ya que, en el caso de operación por épocas,
normalmente se pueden aplicar las secuencias un cierto número de veces, mientras en el
caso de la operación continua normalmente no se puede hacer. Además, no está nada
claro el momento en el que se deberían actualizar los pesos de la red.

La elección de un modo u otro dependerá de los problemas a resolver, e incluso


existen técnicas que aprovechan las características de ambos modos. La principal
diferencia entre ellos radica en que, en el modo “por épocas”, la transición del estado
final de una época al estado inicial de la siguiente se produce externamente, mientras
que en el continuo, la transición la debe aprender a realizar la propia RNA, por lo que se
le está exigiendo más.

Otra cuestión problemática es la asignación de la salida deseada. Así, en ciertos


problemas, como la predicción de una serie temporal o la simulación de un autómata
finito, la salida deseada se exige en todo momento. Sin embargo, en otros problemas
como los de reconocimiento, no se puede establecer cual es la salida deseada en cada
instante. Esto plantea preguntas como: ¿Qué salida se exige a la RNA cuando se le
introduce el patrón?, ¿en qué momento se exige la salida deseada?, ¿al acabar de
introducir el patrón o cuánto tiempo después?, ¿la salida será puntual o continua?, etc.

Las respuestas dependen siempre del problema a tratar; así, podría emplearse una
salida neutra 0 durante la entrada del patrón si se emplea un intervalo [-1,1]. En el caso
de las otras preguntas, se relacionan de forma que, si se ha escogido no forzar un
comportamiento de la salida mientras se está realizando la entrada, no es conveniente
utilizar una salida puntual ya que será difícil determinar si la salida en un determinado
momento corresponde a un estado transitorio o al reconocimiento de una secuencia.
Capítulo 2. Fundamentos 37

Otro problema que puede surgir está relacionado con la forma de la salida. Si la
salida es de tipo escalón donde debe pasar de un punto extremo a otro (-1 a 1) en un
paso de tiempo, es bastante normal que la RNA no sea capaz de realizar una transición
tan brusca. En este caso es necesario proponer una salida suavizada o bien dejar un
intervalo de transición entre los dos estados sin salida deseada.

2.1.8 Problemas que se pueden dar durante el entrenamiento


Los dos problemas más comunes al entrenar una RNA son que la red no se
entrene con precisión suficiente; es decir, que tenga un alto porcentaje de “fallos” que
no se reduce por más veces que se le pase el juego de ensayo, o que la red tarde mucho
tiempo en entrenarse.

Cuando esto sucede, se deberá analizar el diseño de la red y del juego de ensayo.
E1 hecho de cambiar el número de capas ocultas aumentará o disminuirá el tiempo de
aprendizaje, pero probablemente no afectará en gran medida a la precisión (proporción
de respuestas acertadas de la RNA).

Si los resultados son pobres al presentarle una colección de patrones de entrada, es


preciso comprobar el juego de ensayo. Es posible haberse olvidado representar en el
juego de ensayo alguno de los problemas tipo con los que la red debe enfrentarse, o la
información sea engañosa o contradictoria.

Se tendrá en cuenta que, cuando se modifica el juego de ensayo añadiendo nuevos


hechos o corrigiendo alguno de los existentes, la red debe de ser entrenada de nuevo
con la totalidad de los hechos y no tan sólo con los nuevos o con los corregidos.

Una forma de determinar qué hechos están produciendo problemas consiste en


entrenar la RNA hasta que responda con un nivel de aciertos aproximadamente del
90%. Luego, al probar la red, se observan los hechos a los cuales la red responde mal. A
continuación, se le deberá proporcionar a la red mayor información, similar a la de los
hechos no aprendidos, y se entrenará de nuevo.
Capítulo 2. Fundamentos 38

Si se llega a la conclusión de que se le han dado suficientes hechos a la RNA; es


decir, que el juego de ensayo es completo y cubre todos los problemas a resolver y ésta
sigue comportándose poco satisfactoriamente, habrá que considerar la posibilidad de
cambiar el modo de presentar la información de entrada a la red. Si se están utilizando
entradas no distribuidas, se deberá cambiar a distribuidas, lo cual requerirá una
estructuración completamente nueva de la red.

Existen, por supuesto, problemas tan complejos que una RNA no puede resolver
en un tiempo y un espacio razonables. Si este es el caso, se podrá montar una cadena de
RR.NN.AA de modo que las salidas de una red alimenten las entradas de otras. Las
primeras RR.NN.AA deberán identificar los objetos y sus salidas se utilizarán para
alimentar a otra red que realice la evaluación, es decir, descomponer el problema en
varias fases. El añadir más capas a una única RNA no produce el mismo efecto.

2.1.9 Ejemplos de su utilización


Las RR.NN.AA. han demostrado ser una potente herramienta en diferentes
aplicaciones, pero tienen un gran problema: el proceso de razonamiento que utilizan no
se puede explicar, por lo que no se puede explicar la relación que existe entre las
entradas de la RNA y las salidas que produce. Sin embargo, se han utilizado en muchas
aplicaciones como por ejemplo de gestión de recursos del agua [IHE 06]. En este
aspecto, las RR.NN.AA. se pueden aplicar para predicción, simulación, identificación,
clasificación y optimización [SCHU 00].

Si las variables más significativas del problema se conocen sin conocer la relación
existente entre ellas, las RR.NN.AA. son aconsejables para buscar dichas relaciones.
Este tipo de problemas incluye la predicción de escorrentía, demanda de consumo de
agua, caudal y transporte de sedimentos, predicción de calidad de agua, etc.
Capítulo 2. Fundamentos 39

Algunos ejemplos de uso de RR.NN.AA en este campo son los siguientes:

• Predicción de consumo de agua por una población. Esta no es una tarea


sencilla porque hay muchos factores que influyen. Aafjes et al [AAFJ 97] han
investigado una predicción a corto plazo del consumo de agua de una
población utilizando una RNA, un Sistema Experto tradicional, y la
combinación de RNA y Sistema Experto. Para ello han utilizado una serie
temporal de datos de consumo de agua durante dos años.

• Proceso de tratamiento de agua. Estos procesos son altamente no lineales,


por lo que se han utilizado RNA para modelarlos. Una RNA se puede usar
para controlar los procesos de coagulación-floculación-sedimentación y en la
determinación de la dosis química óptima que se debe suministrar [ZHAN 97].

• Predicción del nivel de agua y caudal de un río. En el caso específico del


río Nilo, en Egipto [ATIY 99], el poder estimar y predecir el caudal del río
puede significar un gran impacto económico de la zona y puede servir de
ayuda para la gestión del agua usada para la agricultura y para la protección
contra sequías e inundaciones. De nuevo, este proceso es factible modelarlo
utilizando una RNA.

Ejemplos de estudios de predicciones de escorrentías son los siguientes:

• Loke et al [LOKE 97] han estudiado la aplicación de RNA para predecir el


coeficiente de escorrentía usando datos de la cuenca. Proponen el uso de una
RNA con arquitectura alimentada hacia delante y como variables de entrada
ciertas características de la cuenca como su tamaño, porcentaje de
permeabilidad del terreno, etc.

• Sinak et al [SINA 98] han usado una RNA de tipo RBF (Radial Basis
Function) y una RNA de tipo Correlación en Cascada (CC) para predecir el
caudal de la red de saneamiento utilizando datos históricos de lluvia. Los
datos de caudal los obtienen a partir de tres sensores de nivel basados en
Capítulo 2. Fundamentos 40

ultrasonidos situados en varios puntos de la red de alcantarillado. La lluvia


caída es medida utilizando un pluviómetro en el centro de la ciudad.

• Garrote et al [GARR 03] han desarrollado un algoritmo que predice el


comportamiento de la cuenca durante las inundaciones. Utiliza para ello un
modelo bayesiano que permite realizar la predicción y gestión de inundaciones
de ríos en tiempo real.

• Wu et al [WU 05] han desarrollado dos modelos basados en RR.NN.AA, el


primero para la predicción del nivel de agua en la desembocadura de una
cuenca a partir del caudal y la lluvia, el segundo modelo predice el caudal en
diversos puntos situados a lo largo de la cuenca. Se ha conseguido desarrollar
un sistema que proporciona en tiempo real las predicciones de flujo desde el
presente hasta unas horas a intervalos de 15 minutos. Se ha aplicado en la
predicción de una cuenca urbana situada en Greensboro (Carolina del Norte,
USA).

Algunas referencias adicionales de trabajos [PALA 04] en modelización de


procesos hidrológicos mediante RNA son la predicción de la lluvia en el espacio y en el
tiempo [FREN 92], transporte de solutos [ROGE 94], modelado del proceso lluvia –
escorrentía [HSU 95] [HSU 98] [MASO 96], retención del agua en el suelo [SCHA 96],
determinación de la red de drenaje [KAO 96], estimación de parámetros en movimiento
no forzado [MORS 98], predicción de avenidas [WHIT 99], predicción de la salinidad
[MAIE 99], estimación de variables físicas para el modelado de lluvia-escorrentía a
partir de imágenes tomadas con satélite [HSU 99], control de redes hidráulicas [DIBI
99], gestión de embalses [CANC 02], el modelado de series de eventos de lluvia [PALA
04], etc.

Las referencias que muestran en detalle las posibilidades y el uso de las


RR.NN.AA. en el campo de la hidrología y de consulta obligada si el lector desea
adentrarse en estas técnicas y aplicaciones son las publicaciones de Govindaraju [GOVI
00a] [GOVI 00b] [GOVI 00c]. En estos artículos se muestra un resumen de las
Capítulo 2. Fundamentos 41

diferentes arquitecturas de RNA: descripción, características y funcionamiento [GOVI


00a], siempre desde la perspectiva de la aplicabilidad en la hidrología, y varias formas
de aplicarlas con casos prácticos reales: modelado de lluvia-escorrentía y modelado del
caudal resultante (relación de varios autores que han aplicado las RR.NN.AA. de forma
exitosa), utilización de RNA en calidad de aguas (estimación de salinidad, transporte de
solutos, dispersión de pesticidas, contaminantes, etc.) [GOVI 00a].

2.2 Computación Evolutiva


Los organismos vivos poseen destreza consumada en la resolución de problemas
complejos. Manifiestan una versatilidad capaz de “avergonzar” a los programas
informáticos más refinados. Así, para resolver un problema se han de dedicar meses o
años de esfuerzo intelectual a preparar un algoritmo, mientras los organismos obtienen
sus habilidades a través de mecanismos como la evolución y la selección natural, si bien
pueden pasar billones de ensayos y milenios hasta conseguir el resultado adecuado.

El origen de la Computación Evolutiva (CE) se enmarca en las ideas


evolucionistas que popularizó Charles Darwin [DARW 59] [DARW 95]. La teoría de la
selección de las especies [DARW 95] sostiene que aquellos individuos de una población
que posean los caracteres más ventajosos dejarán proporcionalmente más descendencia
en la siguiente generación; y si tales caracteres se deben a diferencias genéticas que
pueden transmitirse a los descendientes, tenderá a cambiar la composición genética de
la población, aumentando el número de individuos con dichas características. De esta
forma, la población completa de seres vivos se adapta a las circunstancias variables de
su entorno. El resultado final es que los seres vivos tienden a perfeccionarse en relación
con las circunstancias que los envuelven.

Los Algoritmos Genéticos permiten la exploración de un abanico mucho más


amplio de posibles soluciones que los programas tradicionales.

La naturaleza ha estado practicando durante milenios una combinación de


cruzamiento y selección de linajes en busca de cosechas mejores, corceles más veloces,
etc. No resulta, sin embargo, igual de simple la aplicación de estos métodos a las
Capítulo 2. Fundamentos 42

RR.NN.AA. o a procesos de regresión simbólica. El problema principal, en este caso, es


la construcción de un “código genético” capaz de representar la estructura de una RNA
en forma parecida a como el ADN representa la estructura de un ser vivo como un ratón
o de un ser humano y, por ende, de unos sistemas de tratamiento de la información.

En casi todos los organismos, la evolución se produce a resultas de dos procesos


primarios: la selección natural y la reproducción sexual. La primera determina qué
miembros de la población sobrevivirán hasta reproducirse; la segunda garantiza la
mezcla y recombinación de sus genes entre la descendencia. En la fusión del óvulo y el
espermatozoide, los cromosomas homólogos se estiran y adosan uno al otro, y luego se
entrecruzan en zonas intermedias, intercambiando así su material genético. Merced a
esta mezcla y cruzamiento, los seres vivos evolucionan a velocidad mucho mayor que si
cada descendiente contuviera una mera copia de los genes de un único progenitor,
modificados a veces por simple mutación.

La selección constituye un proceso sencillo: cuando un organismo falla en alguna


prueba de adaptación, como por ejemplo el reconocimiento y consiguiente huida de un
depredador, perece. Por consiguiente, no existe dificultad en eliminar los algoritmos de
funcionamiento deficiente o de bajo rendimiento. Si, por ejemplo, un programa tiene la
función de ordenar en sucesión creciente una serie de números, su funcionamiento se
verifica comprobando que cada número de la lista de salida sea mayor que el
precedente; cuando esto no ocurre, el algoritmo falla y, por tanto, debe eliminarse.

2.2.1 El Algoritmo Genético (AG)


John H. Holland empezó a estudiar en los años 60 del siglo XX los procesos
lógicos involucrados en la adaptación, e inspirado por los estudios de los autómatas
celulares [BURK 60] y las redes neuronales [SELF 58], se percató de que el uso de
reglas simples podría generar comportamientos flexibles, y visualizó la posibilidad de
estudiar la evolución de comportamientos de un sistema complejo [HOLL 75].
Capítulo 2. Fundamentos 43

Holland vio el proceso de adaptación en términos de un formalismo en el que los


programas de una población interactúan y mejoran en base a un cierto ambiente que
determina lo apropiado de su comportamiento [HOLL 92]. El combinar variaciones
aleatorias con un proceso de selección (en función de qué apropiado fuese el
comportamiento de un programa dado), debía conducir a un sistema adaptativo general
[HOLL 95].

Este sistema fue desarrollado hacia mediados de los años 60 y se dio a conocer en
el libro que Holland publicó en 1975 [HOLL 75] donde denominó al sistema como
“plan reproductivo genético” y que después se popularizó bajo el nombre de “Algoritmo
Genético” (AG). De esta forma nace una de las líneas más prometedoras de la IA.

Aunque concebido originalmente en el contexto de aprendizaje máquina, el AG ha


sido muy utilizado en optimización [QUAG 98], siendo una técnica sumamente popular
en los últimos años [HOLL 95].

Un AG es un algoritmo de búsqueda basado en la observación de que la


reproducción sexual y el principio de supervivencia del más apto permiten a las especies
biológicas adaptarse a su ambiente y competir por los recursos. Aplicado en
ordenadores, el algoritmo funciona mediante la evolución de sucesivas generaciones de
individuos a partir de las anteriores. Cada generación formada por un conjunto de
individuos (población) con una cadena de valores binarios cada uno. A esta cadena que
forma cada individuo se le denomina cromosoma, cada posición dentro de la cadena se
llama gen y el valor dentro de esa posición se denomina alelo.

Una definición bastante completa de un algoritmo genético es la propuesta por


John Koza: “Es un algoritmo matemático altamente paralelo que transforma un conjunto
de objetos matemáticos individuales con respecto al tiempo usando operaciones
modeladas de acuerdo al principio Darwiniano de reproducción y supervivencia del más
apto, y tras haberse presentado de forma natural una serie de operaciones genéticas de
entre las que destaca la recombinación sexual. Cada uno de estos objetos matemáticos
suele ser una cadena de caracteres (letras o números) de longitud fija que se ajusta al
Capítulo 2. Fundamentos 44

modelo de las cadenas de cromosomas, y se les asocia con una cierta función
matemática que refleja su aptitud” [KOZA 92].

2.2.1.1 Funcionamiento

Los Algoritmos Genéticos establecen una analogía entre el conjunto de soluciones


de un problema y el conjunto de individuos de una población natural, codificando la
información de cada solución en una cadena de valores (bits o números denominados
genes), llamada cromosoma. Los cromosomas evolucionan a través de iteraciones,
llamadas generaciones. En cada generación, los cromosomas son evaluados usando
alguna medida de aptitud (evaluando los valores que actúan como incógnitas y
asignando un valor que determina la capacidad de ese individuo para resolver el
problema). Las siguientes generaciones (nuevos cromosomas), llamada descendencia, se
forman utilizando dos operadores, de cruzamiento y de mutación.

En la elaboración de una nueva generación, se denomina reproducción a la


creación de nuevos individuos a partir de los ya existentes en la población que forma la
generación anterior. Un factor muy importante en el funcionamiento de este algoritmo
es la selección de individuos para la reproducción. Para que el algoritmo funcione, los
mejores individuos (aquellos cuyo ajuste o nivel de aptitud sea mejor) deberán
reproducirse más veces que el resto. Con esta idea, se han desarrollado múltiples
algoritmos de selección [BAKE 87] [BOOK 82] [BRIN 81] [DEJO 75].

Todos los algoritmos de selección existentes se basan en lo mismo: escoger


individuos (ya sea de forma probabilística o determinística) dando más posibilidades a
los mejores pero posibilitando también que los peores sean seleccionados. De no ser así,
si solamente se escogiesen los mejores, el algoritmo convergería prematuramente
haciendo que toda la población sea igual, lo que se traduce en que se dejaría de explorar
gran parte del espacio de estados para explorar de forma intensiva solo una pequeña
región.

El funcionamiento general del algoritmo puede verse ilustrado en el diagrama de


la Figura 5.
Capítulo 2. Fundamentos 45

Generar población inicial aleatoriamente


(Generación 0)

Evaluar la generación actual

Sí Criterio terminación
FIN
satisfecho?

No
Construir siguiente generación
a partir de la anterior
Crear nueva
población vacía

Seleccionar individuos de la antigua población


para reproducción

Crear nuevos individuos a partir


de los seleccionados

Mutar los nuevos individuos con una


probabilidad p

Insertar los individuos en la


nueva población

Figura 5. Diagrama de funcionamiento general del Algoritmo Genético.

Posteriormente a la creación de nuevos individuos, y con una probabilidad baja


(1% ~ 5%), cada individuo nuevo es sometido a un proceso de mutación: se varía la
cadena de bits haciendo un cambio al azar.

Finalmente, los individuos nuevos son insertados en la nueva generación creando


así una nueva población que conforma la siguiente generación.
Capítulo 2. Fundamentos 46

Este proceso se repite hasta que se satisface algún criterio de parada establecido,
como podrían ser:
• En la población hay algún individuo que ha alcanzado un ajuste lo
suficientemente bueno.
• Ha transcurrido el número de generaciones máximo prefijado.
• La población ha convergido y todos los individuos (o un porcentaje alto) son
iguales.

Dado que cada individuo representa una posible solución al problema, la


existencia de un gran número de individuos en la población implica que el algoritmo
realiza una búsqueda en muchas regiones distintas del espacio de estados a la vez.

Una ventaja adicional de los algoritmos genéticos es que la estrategia de


resolución de problemas utiliza una medida de ajuste para dirigir la búsqueda, y no se
requiere ningún conocimiento específico del espacio de búsqueda, siendo eficientes en
espacios que tengan saltos, ruido, valles, etc. Como cada individuo dentro de la
población dirige la búsqueda, el AG realiza una búsqueda en paralelo en numerosos
puntos del espacio de estados con numerosas direcciones de búsqueda [FUCH 98].

2.2.2 La Programación Genética


La Programación Genética (PG) surge como una evolución de los Algoritmos
Genéticos tradicionales, manteniendo el mismo principio de selección natural. Lo que
ahora se pretende es proporcionar soluciones a los problemas mediante la inducción de
programas y algoritmos que los resuelvan. En el caso de un AG, el resultado que
proporciona el algoritmo es el ajuste de una serie de valores numéricos codificados en
forma de cromosoma que resuelven el problema. En el caso de la PG, el resultado que
proporciona, según la técnica utilizada, puede ser un programa, otro algoritmo, o
incluso una expresión matemática que resuelve el problema. La diferencia fundamental
entre el AG y la PG es la forma de codificar las soluciones, mientras en un AG se
realiza mediante una secuencia de valores, en la PG se representa mediante una
estructura denominada “árbol”, en la que se codifica una fórmula matemática. Esta
Capítulo 2. Fundamentos 47

estructura así denominada árbol representa en los nodos los operadores (operaciones
aritméticas, funciones trigonométricas, etc.) y en la “hojas” o terminales las constantes y
variables (en la Figura 7 se puede ver un ejemplo de árbol).

Aunque los primeros intentos por evolucionar programas se remontan a los años
50 y 60 [FRIE 59] [FOGE 64] no fue hasta los 80 cuando se obtuvieron resultados
satisfactorios. Hicklin [HICK 86] y Fujiki [FUJI 86] usaron expresiones en LISP para
representar programas cuyo objetivo era resolver problemas de teoría de juegos. Cramer
[CRAM 85] y posteriormente Koza [KOZA 89] propusieron de forma independiente el
uso de una representación en árbol donde se implementó el operador de cruce
intercambiando sub-árboles entre diferentes programas de una población generada al
azar.

John R. Koza en su libro “Genetic Programming. On the Programming of


Computers by means of Natural Selection” [KOZA 92] sienta las bases de lo que a
partir de ese momento se conoce como Programación Genética y que originariamente se
ha implementado en lenguaje LISP [KOZA 96] [KOZA 97]. Su técnica es casi
independiente del dominio y ha sido utilizada en numerosas aplicaciones como la
compresión de imágenes, el diseño de circuitos electrónicos, el reconocimiento de
patrones, los movimientos de robots, etc.

Posteriormente [KOZA 94] [KOZA 99], Koza extendió su técnica mediante la


incorporación de lo que ha denominado Funciones Definidas Automáticamente (FDA),
las cuales pueden ser reutilizadas como las subrutinas y sirven para incrementar de
forma notable el poder de la PG para generar programas automáticamente.

2.2.2.1 Ventajas de la PG

Son varias las razones porqué la PG se ha revelado como una técnica de


resolución de problemas potente y sencilla. De ellas se pueden destacar:

• Implementa un proceso de búsqueda estocástico, realizando búsquedas


simultáneas en varias regiones del espacio de estados, con continuas
exploraciones en nuevos sectores. Se revela así como un eficiente algoritmo
Capítulo 2. Fundamentos 48

de búsqueda, apto para aquellos problemas en los que su espacio de búsqueda


tenga muchos mínimos locales, valles, etc. en los que otros algoritmos, como
puedan ser de minimización de gradiente, no llegarían a la solución o les sería
muy costoso llegar.

• Al contrario que en los AG tradicionales, la codificación de cada solución


particular (que suele tomar el nombre de cromosoma) se realiza en términos
del propio problema, determinando una serie de incógnitas a las que el
algoritmo intentará asignar lo valores óptimos para resolver el problema. En
cambio, en la PG la solución buscada va a ser encontrada en forma de
algoritmo y en forma de árbol que posteriormente se transformará en una
expresión matemática. Por ejemplo, a partir de una serie de valores empíricos
de un fenómeno, el algoritmo intentará buscar la explicación de dicho
fenómeno en términos de una expresión matemática.

• Al estar trabajando con este tipo de estructuras se minimiza y se facilita el


análisis necesario para la codificación, puesto que ahora se va a realizar de una
forma próxima al problema a tratar, lo que también proporciona una gran
versatilidad y variedad de problemas que va a poder resolver.

• Son algoritmos inherentemente paralelos, puesto que se basan en realizar


cálculos de forma masiva e independiente (evaluar muchas soluciones
distintas e independientes).

• Permite la obtención de soluciones de forma jerárquica, es decir, se puede dar


importancia a unos factores frente a otros a la hora de realizar el proceso de
búsqueda de la expresión, así como determinar la complejidad de las
soluciones obtenidas.

Un ejemplo en el que se utiliza la PG en un modo muy básico (únicamente para la


búsqueda de ajuste de parámetros) aplicado el modelo SISO NARMAX propuesto
por Rodríguez et al. [RODR 01], que utiliza dicho sistema híbrido para la
predicción de series temporales utilizando la técnica de regresión simbólica. En
Capítulo 2. Fundamentos 49

este artículo se aplica este sistema híbrido para la predicción de datos


meteorológicos.

2.2.2.2 Funcionamiento de la PG

El funcionamiento es similar al de los AG y se basa en la iteración de sucesivas


generaciones a partir de las anteriores. Este algoritmo se puede observar en la Figura 6
[KOZA 92].

Crear población inicial aleatoria

Evaluar ajuste de cada individuo

SI
Criterio terminación FIN
satisfecho?

NO

Seleccionar operación genética

Copia Mutación Cruce

Escoger un individuo Escoger un individuo Escoger dos individuos

Reproducir
Mutar individuo Cruzar individuos
individuo

Copiar en la nueva población

Figura 6. Diagrama de flujo de la Programación Genética.

Tras la creación inicial de árboles, que generalmente serán aleatorios, se


construyen sucesivas generaciones a partir de copias, cruces y mutaciones de los
individuos de cada generación anterior.
Capítulo 2. Fundamentos 50

El primer paso en el funcionamiento del algoritmo es la generación de la


población inicial. En la creación de la generación 0, cada árbol se creará de forma más o
menos aleatoria, dependiendo del algoritmo, teniendo en cuenta las restricciones que
existen en los árboles. Dado que los árboles son aleatorios, los individuos de esta
población, en general, representan soluciones malas al problema.

Para la creación de un árbol existe una gran variedad de algoritmos, pero son tres
los más utilizados [KOZA 92]: parcial, completo e intermedio.

• El algoritmo de creación parcial genera árboles cuya altura máxima no supera


la especificada.

• El algoritmo completo genera árboles cuyas hojas están todas a un


determinado nivel, ya que genera árboles completos.

• El algoritmo de creación intermedio es una mezcla de los dos anteriores,


creado para que exista mayor variedad en la población inicial, y con ello
mayor diversidad genética. Este algoritmo se basa en ejecutar los anteriores
alternándolos y tomando distintas alturas para crear todos los elementos de la
población.

Estos algoritmos se basan fuertemente en el azar, y la única intervención del


usuario está en la introducción de los elementos terminales y no terminales. Sin
embargo, existen muchos más algoritmos en los que la creación de árboles no es tan
aleatoria. Por ejemplo, Luke [LUKE 00] asigna una probabilidad de aparición a cada
nodo y de esta forma se reduce el carácter aleatorio de la creación y se orientan los
árboles a que contengan más nodos de una clase que otra. Los algoritmos serán muy
similares, con la salvedad de que la elección de los elementos seguirá siendo aleatoria,
pero estará ponderada por esa probabilidad asignada.
Capítulo 2. Fundamentos 51

2.2.2.2.1 Elementos del árbol

Al ser una representación en árbol, existirán dos tipos de nodos:

• Terminales, u hojas del árbol. Son aquellos que no tienen hijos.


Normalmente se asocian con valores constantes o variables.

• No terminales. Son aquellos que tienen uno o más hijos. Generalmente se


asocian con operadores del algoritmo que se quiere desarrollar.

En la Figura 7 se puede ver un ejemplo de árbol, que representa la expresión


f(x) = 2*(3+x). Tiene como nodos no terminales los correspondientes al producto y a la
suma, y como terminales los correspondientes a los valores 2 y 3 y la variable x.

2 +

3 x

Figura 7. Árbol para la expresión 2*(3+x).

Una parte fundamental del funcionamiento de la PG es la especificación del


conjunto de elementos terminales y no terminales antes del inicio del proceso evolutivo.
Con los nodos que se le especifique, el algoritmo construirá los árboles. Por tanto, es
necesario un mínimo proceso de análisis del problema para configurar el algoritmo,
puesto que hay que decirle qué operadores o funciones (seno, coseno, exponencial, etc.)
puede utilizar. Como regla general, es conveniente ajustar el número de operadores sólo
a los necesarios, puesto que la adición de elementos que no sean necesarios no
provocará que no se encuentre la solución, pero sí que el algoritmo tarde más en
encontrarla.

A la hora de especificar los conjuntos de elementos terminales y no terminales, es


necesario que estos conjuntos posean dos requisitos, que son suficiencia y completitud
[MONT 95]. El requisito de suficiencia dice que la solución al problema debe poder ser
Capítulo 2. Fundamentos 52

especificada con el conjunto de operadores especificados. El requisito de completitud


dice que debe ser posible construir árboles correctos con los operadores especificados.

Dado que el proceso de construcción de árboles es un proceso basado en el azar,


muchos de los árboles construidos no serán correctos, no por no seguir las reglas de la
gramática, sino por la aplicación de operadores (nodos no terminales) a elementos que
no están en su dominio. Por esta razón no se aplican estos operadores directamente, sino
una modificación de ellos en la que se amplía su dominio de aplicación. El ejemplo más
claro es el operador de división, cuyo dominio es el conjunto de números reales excepto
el valor cero. Ampliando su dominio, se define un nuevo operador (%).

⎧⎪1 si b = 0
%(a , b ) ⎨ a
si b ≠ 0
⎪⎩ b
Ecuación 6. Operador %.

A esta nueva operación se denomina operación de división protegida, y en


general cuando se crea una nueva operación que extiende el dominio de otra se
denomina operación protegida.

2.2.2.2.2 Restricciones

Existen dos tipos principales de restricciones:

• Tipado.

• Altura máxima del árbol.

Para establecer reglas sintácticas en la creación de árboles, es posible especificar


reglas de tipado [MONT 95]. Se establece el tipo de cada nodo (terminales y no
terminales), y para los no terminales el tipo que debe tener cada hijo. De esta forma, se
especifica la estructura que deben seguir los árboles.
Capítulo 2. Fundamentos 53

Al especificar el tipo de cada nodo, se está especificando una gramática que va a


ser la que siga el algoritmo para la construcción de árboles. Esta gramática permitirá
que los árboles tengan la estructura deseada.

Los tipos más usados son aquellos que tienen que ver con la realización de
operaciones aritméticas: reales y enteros. Sin embargo, son también muy usados otros
como el tipo booleano, o el tipo sentencia, este último se utiliza cuando se quiere
desarrollar un programa que sea una secuencia de mandatos, y que designa nodos que
no devuelven nada, es decir, que su evaluación se basa en los efectos que provoca su
ejecución.

Por su parte, la restricción de altura evita la creación de árboles demasiado


grandes y fuerza una búsqueda de soluciones cuyo tamaño se acota de antemano. Con
esta restricción se evita que los árboles posean mucho código redundante y el
crecimiento excesivo de los árboles [SOUL 97] [SOUL 98].

2.2.2.2.3 Operadores genéticos

En la creación de una nueva generación se aplican operadores que generan y


modifican los árboles. Estos operadores son resultado de adaptar los existentes en los
AG tradicionales a la PG, modificándolos para adaptarlos a la codificación en forma de
árbol. Los operadores más utilizados son:

• Cruce.
• Reproducción (copia).
• Selección.
• Mutación.

2.2.2.2.3.1 Cruce

Es el principal operador. En él, dos individuos de la antigua población se


combinan para crear otros dos individuos nuevos. Después de seleccionar a dos
individuos como padres, se selecciona un nodo al azar en el primero y otro en el
segundo, de forma que su intercambio no viole ninguna de las restricciones: los nodos
Capítulo 2. Fundamentos 54

deben ser de igual tipo y los árboles nuevos deben seguir manteniendo la altura máxima.
El cruce entre los dos padres se efectúa mediante el intercambio de los subárboles
seleccionados en ambos padres [LUKE 98].

Existen variantes adaptativas de este operador [ANGE 96] en las que el propio
algoritmo se modifica, así como numerosas variantes que tienen como base este
algoritmo [AGUI 99] [PERE 99].

2.2.2.2.3.2 Reproducción (copia)

La reproducción simplemente es la copia de individuos en la nueva generación.


Esta operación es asexual en el sentido en que se genera un individuo a partir de un
individuo anterior.

Esta operación, junto con la de cruce, forman los operadores que se utilizan más
frecuentemente, y entre ellos tiene una especial predominancia la de cruce. De hecho, el
porcentaje de individuos nuevos generados a partir de cruces suele ser superior al 90%,
mientras que el resto son generados mediante copias. El aumento del número de
individuos generados por copias aumenta el peligro de predominancia de un individuo
sobre el resto de la población, y que finalmente tras varias generaciones toda la
población converja hacia ese individuo. Esta es una situación indeseable, puesto que se
ha perdido por completo la diversidad genética que se tenía al principio y ello conlleva
que la búsqueda en el espacio de estados sólo se lleve a cabo en una determinada zona,
lo cual es lo contrario que se pretende con AG.

El operador de cruce es, por tanto, el principal operador utilizado para la


generación de los nuevos árboles y exploración del espacio de estados [POLI 98].

2.2.2.2.3.3 Selección de individuos

Para evitar una predominancia de un individuo en la reproducción, ya sea por


cruce o copia, es necesario regular bien la selección de los individuos a los que se
aplican estos operadores. Existen muchos algoritmos de selección, pertenecientes a los
Capítulo 2. Fundamentos 55

AG tradicionales, que realizan la tarea de escoger qué individuos se van a reproducir y


cuáles no.

En general todos los algoritmos de selección se basan en la misma idea: que los
individuos más aptos tengan más posibilidades de ser escogidos para reproducirse pero
sin eliminar por completo las posibilidades de los menos aptos, puesto que de ser así la
población convergería en pocas generaciones. Para medir la bondad de un individuo,
éste está valorado con un nivel de ajuste o aptitud, y en base a ese nivel se puede decidir
la elección de individuos. Algunos de los algoritmos más utilizados son la selección por
torneo y la ruleta.

En la selección por torneo [WETZ 83], se escoge un número de individuos al azar


de la población (típicamente dos individuos) y es seleccionado el mejor de ellos. Este
método de selección es muy usado, y puede regular la presión de selección que se ejerce
sobre la población variando el número de individuos que participan en el torneo. De esta
forma, si participa un número bajo, se ejerce poca presión y se dan más oportunidades
de ser seleccionados a los menos aptos. Conforme crece el número de individuos, serán
seleccionados los mejores más frecuentemente. Además, es posible seleccionar un
individuo varias veces.

En la selección por ruleta [DEJO 75], todos los individuos de la población son
dispuestos en una ruleta ocupando cada uno una parte proporcional al nivel de ajuste del
individuo comparado con el nivel de ajuste de toda la población (suma de ajustes); es
decir, que ocupan más espacio en la ruleta los mejores individuos. Para realizar la
selección, simplemente se hace girar la ruleta y se devuelve el individuo seleccionado
por ella. Este método es muy utilizado por su simplicidad y sus buenos resultados. Sin
embargo, presenta el problema de que al poder seleccionar el mismo individuo varias
veces, el mejor individuo sea escogido muchas veces y acabe predominando en la
población.

Existen otros muchos algoritmos, en los que el número de veces que un individuo
es seleccionado se realiza de forma determinística. Esto evita problemas de
Capítulo 2. Fundamentos 56

predominancia de un individuo. Cada uno de estos algoritmos presenta variaciones


respecto al número de veces que se tomarán los mejores y los peores. Se impondrá una
presión en la búsqueda en el espacio de estados en la zona donde se encuentra el mejor
individuo, o bien se tiende a repartir la búsqueda por el espacio de estados, pero sin
dejar de tender a buscar en la mejor zona. Algunos de estos algoritmos son: sobrante
estocástico [BRIN 81] [BOOK 82], universal estocástica [BAKE 87] o muestreo
determinístico [DEJO 75].

2.2.2.2.3.4 Mutación

El operador de mutación provoca la variación de un árbol de la población. Este


operador suele usarse con probabilidad muy baja (menos del 10%) antes de introducir
un individuo en la nueva generación.

Existen dos tipos principales de mutación: mutación en la que se varía un solo


nodo y mutación en la que se varía una rama entera del árbol.

En el primer caso, conocida por mutación puntual, la mutación actúa de la


siguiente manera:

1. Se escoge un nodo al azar del árbol.

2. Se escoge al azar un nodo del conjunto de terminales o no terminales, del


mismo tipo que el seleccionado, con el mismo número de hijos y de forma
que sus hijos sean del mismo tipo.

3. Se intercambia el nodo antiguo del árbol por el nuevo, manteniendo los


mismos hijos que el antiguo.

Dado que cada rama del árbol representa una solución a un subproblema y el no
terminal que las une representa la forma de combinar esas soluciones, si se realiza este
tipo de mutación sobre un elemento no terminal se estará provocando que las soluciones
se combinen de distinta forma. Este tipo de mutación apenas se usa.

El operador de mutación provoca en el individuo un salto en el espacio de estados,


comenzando una búsqueda distinta en otra zona. La mayoría de las mutaciones son
Capítulo 2. Fundamentos 57

destructivas, es decir, el individuo empeora, y por eso se utilizan con una probabilidad
muy baja, para conseguir variedad genética. Existen estudios sobre la evolución sin el
uso de cruces, en los que la mutación juega un papel fundamental [CHEL 97], en los
que se utilizan distintos tipos de mutaciones, pero los resultados siguen siendo peores
que utilizando cruces.

2.2.2.2.4 Evaluación

La cuantificación de la bondad de un determinado individuo se realiza por medio


del ajuste de ese individuo. Este valor representa lo bien que el árbol soluciona el
problema actual.

El ajuste es probablemente el principal concepto en la evolución darwiniana, se


refiere a la habilidad que tiene un individuo de competir en un entorno por los recursos
disponibles. Goldberg describió la función de ajuste como “una medida de beneficio,
utilidad o bondad que queremos maximizar” [GOLD 89].

En el Algoritmo Genético, esta competición se basa en la actuación del


cromosoma dentro del dominio del problema. Se determina una escala adecuada a la
tarea como “tiempo antes de fallo” [RAND 94], o “tiempo antes de estabilizarse”
[KOZA 90]. Después de haber aplicado un cromosoma al problema, se le asigna un
valor de ajuste que refleje su actuación. De esta manera, cuando la población entera
haya sido probada, la habilidad relativa de cada cromosoma puede ser identificada.

Para valorar esta medida de ajuste, existen tres tipos fundamentales [KOZA 92]

• Estandarizado. Este tipo de ajuste s(i,t) mide la bondad de un individuo i en


la generación t, de tal forma que valores próximos a cero indican un buen
valor de ajuste y valores lejanos un mal individuo. Por tanto, en una
generación t un individuo i será peor que otro j si s(i,t) > s(j,t). Esta medida es
muy útil en problemas en los que la cuantificación del nivel de ajuste de los
individuos se basa en penalizaciones, como puede ser el error en inducción de
fórmulas, error cuadrático medio, número de ejecuciones necesarias para
encontrar la solución, etc.
Capítulo 2. Fundamentos 58

• Ajustado. Este valor se obtiene del estandarizado de la siguiente forma:


1
a(i, t )=
1 + s (i, t )

Ecuación 7. Fórmula de ajuste.

Con esta medición la bondad se cuantifica entre 0 y 1, siendo el valor 1


correspondiente al mejor individuo.

• Normalizado. Es un valor de ajuste comparativo del individuo con toda la


población. Se obtiene de la siguiente expresión, dado el tamaño de población
M:
a (i, t )
n(i, t ) = M

∑ a(k , t )
k =1

Ecuación 8. Fórmula de ajuste normalizado.

Este valor está comprendido entre 0 y 1. Este tipo de ajuste indica el nivel de
bondad dentro de la población. En este caso desaparece el componente de
objetividad de evaluación de los tipos anteriores, y un valor cercano a 1 ya no
indica que ese individuo represente una solución buena al problema, sino que
ese individuo representa una solución destacada y notablemente mejor que la
del resto de la población. Este valor es utilizado para las selecciones
proporcionales al ajuste, como la ruleta. En este caso, la proporción de ruleta
ocupada por un individuo será este valor, ya que la suma de todos será la
unidad.
“La mejor estructura no garantizará los
resultados ni el rendimiento. Pero la estructura
equivocada es una garantía de fracaso”

Peter Drucker

CAPÍTULO
3 DESCRIPCIÓN DEL SISTEMA
DESARROLLADO

3.1 Introducción
En este capítulo se exponen los aspectos más relevantes del sistema desarrollado,
analizando los diferentes módulos de los que consta y los aspectos innovadores que se
han implementado en cada caso.

Se exponen los conceptos innovadores que se han desarrollado en los diferentes


módulos:

• Las características técnicas del proceso de entrenamiento de las RR.NN.AA.


La utilización de los AG para el entrenamiento mejora considerablemente el
proceso de entrenamiento, sobre todo en las RR.NN.AA. de arquitectura
recurrente, así como facilitar al usuario su utilización.

• Las características técnicas que se han implementado en el módulo de RNA,


como el proceso de activación atenuada en el tiempo para la RNA de
Capítulo 3. Descripción del sistema 60

arquitectura Recurrente, donde esta técnica mejora el funcionamiento de este


tipo de RR.NN.AA. en problemas con carácter temporal, como las Series
Temporales, con aplicación práctica en el ámbito de la hidrología (como se
puede observar en el capítulo 5).

• Las características técnicas del proceso de inducción de expresiones


aritméticas y matemáticas mediante PG. Mediante esta técnica se consigue
una potente herramienta de búsqueda de fórmulas que relaciona conjuntos de
datos experimentales. Se expondrán aquellos aspectos innovadores que
permiten obtener una herramienta adecuada para su uso en la ingeniería civil.

• Control del proceso de inducción de expresiones matemáticas, incorporando,


por ejemplo, coeficientes de seguridad. Con aplicación práctica en la mejora
de normativas en Construcción (como se puede observar en el capítulo 4).

• Cuando se necesita modelar una relación entre dos señales, a partir de una o
varias señales de entrada generar una señal de salida con unas características
específicas se puede modificar el algoritmo de PG con los operadores y las
funciones adecuadas para afrontar el diseño de estas relaciones. Esta
modelización utilizando funciones que definen “filtros” se realiza para
modelar la relación entre lluvia y caudal de una cuenca urbana (como se puede
observar en el capítulo 5).

3.2 Entrenamiento de RNA con AG

El método que se ha usado en esta tesis para entrenar una RNA está basado en la
técnica de Algoritmos Genéticos. Se ha seleccionado esta técnica debido a que la
computación evolutiva, es, actualmente, la única que permite realizar el proceso de
entrenamiento de cualquier arquitectura de RNA, así como proporcionar muchas
facilidades al usuario final para poder entrenar de forma rápida y sencilla una RNA para
resolver un problema.
Capítulo 3. Descripción del sistema 61

3.2.1 RNA como material genético


El problema principal consiste en la construcción de un “código genético” capaz
de representar la estructura de las distintas posibilidades de las Redes de Neuronas
Artificiales, en forma parecida a como el ADN representa la estructura de un animal o
de un ser humano.

La codificación de una RNA como una cadena o ristra identificativa de un


individuo de la población consiste en observar aquellas características definitorias que
permitan distinguir inequívocamente dicho individuo de otro dentro de la misma
población.

Por ejemplo, se puede codificar una RNA como se observa en la siguiente figura:
Número
Número Número Neuronas por Valor Tipo Activación Tipo
Capas
Entradas Salidas Capa Conexiones Neurona Neurona interconexión
Internas

Figura 8. Codificación de un Individuo.

A continuación se presentan dos ejemplos de RR.NN.AA empleando la


codificación de individuo:

5
X1 1

6 10
X2 2

7 11

X3 3
8 12

X4 4 9

Figura 9. Red de neuronas alimentada hacia delante.


Capítulo 3. Descripción del sistema 62

El individuo siguiente corresponde con la RNA anterior.


Número Número Estado
Número Número Tipo Tipo
Neuronas Capas Valor Conexiones Activación
Entradas Salidas Neurona interconexión
por Capa Internas Neurona
⎡sigmoide⎤ ⎡ − 0.13⎤
⎢sigmoide⎥ ⎢ 0.53 ⎥
⎡ 0.31 0.22 1 0.52 0.18⎤ ⎢ ⎥ ⎢ ⎥
⎢0.19 ⎢sigmoide⎥ ⎢ 0.21 ⎥
⎢ 0.83 0 0.03 0.31⎥⎥ ⎢ ⎥ ⎢ ⎥
⎢0.95 0.59 0.10 0.25 0.92⎥ ⎢sigmoide⎥ ⎢− 0.92⎥
⎢ ⎥ ⎢sigmoide⎥ ⎢ 0.71 ⎥
⎣0.27 0.09 0.93 0.99 0.85⎦ ⎢ ⎥ ⎢ ⎥ Alimentada
⎢sigmoide⎥ ⎢ 0.31 ⎥
4 3 [4, 5, 3] 1 ⎡0.07 0.24 0.56⎤ ⎢sigmoide⎥ ⎢ 0.95 ⎥ hacia
⎢0.48 0.86 0.69⎥⎥ ⎢ ⎥ ⎢ ⎥ delante
⎢ ⎢sigmoide⎥ ⎢ 0.76 ⎥
⎢0.27 0.49 0.49⎥ ⎢sigmoide⎥ ⎢ − 0.03⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ 0.81 0.13 0.98⎥
⎢sigmoide⎥ ⎢ 0.82 ⎥
⎢⎣0.62 0.85 0.22⎥⎦ ⎢ ⎥ ⎢ ⎥
⎢sigmoide⎥ ⎢ 0.10 ⎥
⎢⎣sigmoide⎥⎦ ⎢⎣ 0.67 ⎥⎦

Figura 10. Individuo correspondiente a la codificación de la Figura 9.

0.16 0.35
0.14
1 3
IEntrada -0.58 Salida

0.16
0.98
0.86 -0.91

0.22

Figura 11. Red de neuronas con retroalimentación.

Número Estado
Número Número Número Tipo Tipo de
Capas Valor Conexiones Activación
Entradas Salidas Neuronas Neurona interconexión
Internas Neurona
⎡0.16 0.86 − 0.58⎤ ⎡hip. tg ⎤ ⎡ 0.21⎤
⎢0.16 0.22 0.98 ⎥⎥ ⎢hip. tg ⎥ ⎢0.78⎥
1 1 3 - ⎢ ⎢ ⎥ ⎢ ⎥ Recurrente
⎢⎣0.14 − 0.91 0.35 ⎥⎦ ⎢⎣hip. tg ⎥⎦ ⎢⎣0.93⎥⎦

Figura 12. Individuo correspondiente a la codificación de la Figura 11.

Una característica importante en la definición de una RNA es el número de


entradas y el número de salidas, con ello se indica que la red está compuesta por X
neuronas en la capa de entrada e Y neuronas en la capa de salida. Si se prescindiera de
Capítulo 3. Descripción del sistema 63

estas características, como se puede suponer, se desconocería la estructura de la red en


cuanto a qué neuronas se deben considerar como entradas del sistema y qué neuronas se
consideran como salidas o respuestas.

De la misma forma, se toman las otras características como propiedades


definitorias que como tal permiten diferenciar los distintos individuos de la población,
considerando como individuos iguales aquellos individuos que tengan los mismos
valores en todas las características que definen el individuo.

Los individuos de la población, en este caso RR.NN.AA, comparten ciertas


características como son el número de entradas, el número de salidas, el número de
capas, el número de neuronas en capas internas, el tipo de red (con retropropagación o
no), etc. y otras características distintivas que diferencian y permiten identificar bien un
individuo dentro de la población, como son los valores de los pesos de las conexiones, o
los umbrales o constantes. Las características comunes de la población deben permitir a
cualquier individuo la posibilidad de ser capaz de resolver el problema que se pretende
solucionar.

Otro factor importante a la hora de la definición de una RNA es la codificación de


los pesos de cada conexión de cada neurona, en este caso se utilizará una notación
matricial, en el ejemplo siguiente se muestra una RNA y la representación en forma de
tabla de las conexiones, en este caso se observa que la red esta totalmente conexa y es
retroalimentada.

Neuronas de Salida

1 2 3

1 0.16 0.86 -0,58


Neuronas de

2 0.16 0.22 0.98


entrada

3 0.14 -0.91 0.35

Tabla 1. Ejemplo de codificación de las conexiones de la RNAR de la Figura 11.


Capítulo 3. Descripción del sistema 64

Una vez identificadas aquellas características comunes, con las que se quiere dotar
a los individuos de la población, se dejará evolucionar, realizando cruces y mutaciones.

Pero, ¿cómo se sabrá que un individuo de la población es mejor que otro? para
ello se necesita una función de ajuste que cuantifique el error que comete la RNA entre
la salida ideal y la salida o respuesta que se obtiene de la red, procedimiento típico de
un proceso de aprendizaje “supervisado”.

Se puede utilizar como función del error, la función de Error Cuadrático Medio
(ECM), que tiene como fórmula la siguiente:
N

∑ (O − I )
2
i i
E.C.M . = i =1
n
Ecuación 9. Error cuadrático medio.

Donde “Oi” corresponde con la salida de la RNA, e “Ii” corresponde con la salida
ideal.

Otra fórmula puede ser el sumatorio en valor absoluto de todas las desviaciones:
N
Error = ∑ Oi − I i
i =1

Ecuación 10. Error acumulado.

Usar un método u otro para cuantificar el error en el método del Algoritmo


Genético es algo secundario, lo realmente importante es identificar qué individuo es
mejor que otro. Un individuo es mejor que otro si tiene un valor del error menor. Así
pues, en la población se podrá identificar cuál es el mejor individuo, o lo que es lo
mismo, la RNA óptima para esa población, capaz de dar unas respuestas más cercanas a
la solución del problema.
Capítulo 3. Descripción del sistema 65

3.2.2 Módulo de entrenamiento de RNA

Este módulo utiliza un Algoritmo Genético para ajustar los pesos de las
conexiones y de las pendientes de activación de la RNA para conseguir que ésta sea
capaz de converger sus salidas a las que debería producir. Esta técnica se basa en la
utilización de una población de individuos y de tres operaciones genéticas para la
obtención de mejores individuos (RNA) que son capaces de producir resultados mejores
que los individuos precedentes. Partiendo de una cierta población, por ejemplo 100
individuos, con unos pesos de conexiones y unos valores de las pendientes de activación
aleatorios (proceso de inicialización de la población) se evalúan dichos individuos
calculando el Error Cuadrático Medio (ECM) que producen sus salidas comparadas con
las que deberían producir. Una vez evaluados, se procede a ordenarlos de menor a
mayor ECM (de mejor a peor). Una vez finalizado el proceso de inicialización de la
población, se procede a realizar iterativamente la selección, cruce y mutación
(operaciones genéticas) sobre dicha población.

La selección es la forma de elegir dos individuos de la población sobre los cuales


se realizarán las otras dos operaciones genéticas. En el programa desarrollado se da la
opción de 3 tipos:

• Estratos: se elige uno de la mitad peor de la población y el otro de toda la


población, con esto se da más probabilidad a la recombinación de individuos
“peores” con individuos “mejores”, para evitar la obtención de una población
demasiado homogénea.

• Torneo: se escoge un número de individuos al azar de la población


(típicamente dos individuos) y es seleccionado el mejor de ellos.

• Ruleta: todos los individuos de la población son dispuestos en una ruleta


ocupando cada uno una parte proporcional al nivel de ajuste del individuo
comparado con el nivel de ajuste de toda la población. Se seleccionan en
función de esa ruleta, 2 individuos.
Capítulo 3. Descripción del sistema 66

La tarea básica de la operación de cruce consiste en seleccionar 2 individuos de la


población, elegir aleatoriamente un punto de cruce de la matriz de pesos y de la matriz
de pendientes permutando la parte izquierda de un individuo con la parte derecha del
otro individuo, y viceversa. Una vez aplicada la operación de cruce, se generan dos
nuevos individuos, estos se evalúan y se elige el mejor (el que menor ECM produce)
que sustituye al peor individuo de la población. Por último se procede a ordenarlo
dentro de la población. Para la ordenación se utiliza el método denominado burbuja
[JOYA 98], se ha seleccionado este método debido a que la población ya está ordenada
y sólo es necesario ordenar un elemento.

Después del cruce, se realiza la operación de mutación. Para ello, se elige un


individuo de toda la población al azar, excepto el mejor individuo, siguiendo una
estrategia elitista, ya que en otro caso éste puede empeorar. También se elige al azar un
peso para una conexión y su correspondiente pendiente de activación y se cambia por
unos valores generados aleatoriamente.

Los pasos para realizar el entrenamiento de una RNA consisten básicamente en:

¾ Crear los ficheros de entrenamiento (Entradas-Salidas) o seleccionar unos ya


existentes.

¾ Establecer los parámetros del algoritmo genético: nº de parejas a cruzar, nº de


mutaciones por iteración y nº de individuos de la población.

¾ Establecer la arquitectura y funciones de activación de la RNA: con


retropropagación o no, nº de capas, límite de los pesos de las conexiones, tipo
de función de activación, etc.

¾ Iniciar el algoritmo:

ƒ Inicializar la población. Se utiliza una función aleatoria para crear los pesos
iniciales de las conexiones y los valores iniciales de las pendientes de
activación.
Capítulo 3. Descripción del sistema 67

ƒ Evaluar cada individuo calculando el Error Cuadrático Medio que comete


con respecto a las salidas ideales.

ƒ Ordenar toda la población, siendo el mejor individuo (el primero) aquel que
tiene un valor menor del ECM.

¾ Realizar cruces y mutaciones indefinidamente hasta que el usuario detenga la


simulación.

ƒ Se elige un punto de corte de la estructura de la RNA.

ƒ Se intercambian las dos mitades. Una mitad queda igual y la otra se coge del
otro individuo

ƒ Así, se generan dos individuos nuevos que se evalúan. Se elige uno de los
dos (el que menor error comete) y se sustituye el último individuo de la
población (el peor) por el nuevo.

ƒ Se realiza la mutación de un individuo. Se aplica la selección y se podrá


elegir entre toda la población, excepto el mejor individuo (estrategia elitista).

ƒ Se cambia el valor de una conexión y de la pendiente de esa conexión por un


valor generado aleatoriamente.

¾ El final del entrenamiento puede ser debido a que el error baje de un cierto
nivel o que el usuario decide pararlo. Una vez parado (no se siguen realizando
iteraciones) el usuario puede decidir guardar la estructura de la RNA actual
para hacer más pruebas o detener definitivamente.

La duración del entrenamiento depende de muchos factores, generalmente el


tiempo que tarda en evaluarse la RNA depende de su tipo, si es recurrente tarda
computacionalmente más del doble que una no recurrente. También influye el tipo de
función de activación de las neuronas, siendo la umbral la más rápida y la hiperbólica
tangente la más lenta, etc. Así pues, la velocidad con la que se incrementan las
iteraciones realizadas varía cuantitativamente en función del tipo de RNA a entrenar y
del problema a resolver (tamaño de los ficheros de entrenamiento, etc.).
Capítulo 3. Descripción del sistema 68

Inicializar Población

Selección

Cruce

Mutación

ECM=0 Ordenar
Población

FIN

Figura 13. Diagrama general del entrenamiento.

3.3 El proceso de activación atenuada en el tiempo en las RR.NN.AA.


Debido a la limitación de los modelos clásicos de RNA [FREE 93] en el
tratamiento de problemas temporales, alrededor del año 1985 se inició el desarrollo de
modelos Recurrentes [PEAR 90] que fueran capaces de la resolución de este tipo de
problemas. La potencia de las RR.NN.AA. Recurrentes (RR.NN.AA.RR.) se basa en el
incremento del número de conexiones y en la completa recursividad dentro de la red.
Estas características, sin embargo, incrementan la complejidad de los algoritmos de
entrenamiento y la lentitud en el proceso de convergencia. Estos problemas han frenado
en cierta medida la utilización de este tipo de RNA tanto para resolver problemas
estáticos como dinámicos.

Para incrementar la potencialidad de las RR.NN.AA.RR. y basando el estudio en


evidencias biológicas, se ha modificado la arquitectura de los elementos de proceso
añadiendo una componente temporal en las activaciones. En este tipo de RNA se busca
reforzar la persistencia de las activaciones de las neuronas para crear contextos de
Capítulo 3. Descripción del sistema 69

activación que generen salidas adecuadas en el tiempo. En este nuevo enfoque se


pretende almacenar más información en las conexiones de las neuronas. Para ello en vez
de representar las conexiones como un valor fijo se representan como una función que
genera la salida de la neurona en el tiempo. El proceso de entrenamiento de este tipo de
RNA calcula el valor de la pendiente que caracteriza la función. Para el entrenamiento
se ha desarrollado el sistema basado en AG que localiza la configuración de las
pendientes más adecuadas para la resolución del problema.

En los elementos de proceso tradicionales, sobre la función de entrada, que


pondera los pesos con las activaciones de las neuronas de la capa anterior, se le aplica
una función de activación, siendo las más utilizadas la sigmoide y la hiperbólica
tangente (además se pueden utilizar la lineal y la umbral). En el caso de que la salida de
esta función sea positiva y se produzca la activación, en ese instante, las neuronas a las
que les llegue esa activación tendrán como entrada el producto del peso de la conexión
por el valor de la activación.

Esta forma de propagar la activación de las neuronas funciona de forma muy


puntual en el tiempo, sin dar la idea de continuidad que se aprecia en el modelo natural
donde la activación fluye desde un punto máximo (potencial de acción) hasta llegar
progresivamente a “cero” (potencial de reposo). En el sistema desarrollado en esta tesis
se ha añadido, a la arquitectura clásica de elemento de proceso, la función del potencial
de acción, aproximándola mediante una recta que va desde el nivel de salida de la
función de activación hasta el nivel cero.

w1
x1
w2
x2
Net = x*w Salida Salida Neurona
Σ F(Net)
t
xn wn

Figura 14. Representación de la Conexión Atenuada en el Tiempo.


Capítulo 3. Descripción del sistema 70

Este modelo de RNA sólo cambia en la concepción de las conexiones entre


neuronas que pasan de ser fijas (un valor numérico) a ser representadas por una función
(una recta con pendiente negativa) caracterizada por el valor de la pendiente.

El funcionamiento de la neurona hay que expresarlo ahora en función del tiempo.


Es decir, ahora, la activación que produce en una neurona la conjunción de una serie de
entradas en un cierto momento del tiempo, no afecta solo a las neuronas conectadas a su
salida en ese instante, sino también en n instantes posteriores (ver Figura 15). El valor
de n depende de la pendiente de la recta que tenga esa conexión.

0 m n Tiempo en Ciclos

Instante de la M Instantes N Instantes


activación después después

0 m n 0 m n 0 m n
Tiempo 0 m n

Figura 15. Funcionamiento de la Activación Atenuada.

En la Ecuación 11 se puede observar la fórmula de la recta que emula la


activación atenuada. En esta fórmula y representa el valor de salida de la neurona que
reciben las neuronas siguientes. La letra b representa la salida de la función de
activación de la neurona. La letra x representa el tiempo que pasa desde la activación y
la letra m es la pendiente de la recta que es siempre negativa. En el momento en que se
produce la activación, el tiempo es 0 por tanto la salida y = b, a partir de ahí, y
dependiendo de la pendiente, la salida y decrece hasta 0 en un tiempo t.

y = mx + b
Ecuación 11. Fórmula de la recta que usa la Función de Activación Atenuada en el Tiempo.
Capítulo 3. Descripción del sistema 71

Una vez definida la nueva arquitectura, para poder aplicar este tipo de RNA a la
resolución de problemas, se necesita un método de entrenamiento que ajuste los pesos y,
en este caso, las pendientes de las salidas de la nueva red. En este nuevo tipo de
elementos de proceso no son válidos los algoritmos de aprendizaje utilizados hasta el
momento, ya que lo que se necesita calcular es la pendiente de la recta. Por lo que se
han utilizado los AG para su entrenamiento, de forma similar a lo expuesto en el punto
anterior.

3.4 Inducción de expresiones mediante PG


Dos de las necesidades más importantes a la hora de buscar una fórmula
matemática que permita explicar el funcionamiento de un sistema son, por un lado, el
hecho de trabajar con datos empíricos, basados en la experimentación, y por otro, el
tamaño de la fórmula, que puede no saberse de antemano. Por ello, la Programación
Genética es la técnica ideal, debido a que la forma de codificar los individuos en forma
de árbol no limita el tamaño de éstos (depende de la profundidad del árbol), ya que por
naturaleza es una estructura dinámica de tamaño variable. Además, la representación en
árbol es la forma natural de presentación de los análisis léxicos y sintácticos y de la
amplia teoría de los autómatas y los compiladores. Éstos desde siempre han utilizado las
reglas representadas en árbol como forma de representar el análisis léxico y sintáctico
de los “programas”.

La PG es vista como una especialización de los AG [BÄCK 00]. De manera


similar a ellos, la PG se concentra en la evolución de los genotipos. La principal
diferencia radica en el esquema de representación usado. Mientras los AG utilizan
cadenas de representaciones, la PG representa los individuos como programas que
resuelven un determinado problema de forma automática, y para ello se dispone de una
serie de símbolos y funciones que estructuradas en forma de árbol representan un
programa. Es por tanto una técnica pensada para que la forma de representación de los
programas (reglas) sea fácilmente entendible por el ser humano [RABU 02a] [RABU
04].
Capítulo 3. Descripción del sistema 72

La utilización, por tanto, de la PG como algoritmo inductivo puede verse como


una de las técnicas potencialmente más prometedoras para alcanzar los mejores
resultados en cuanto al proceso de extracción de conocimiento de datos procedentes de
la experimentación. Es por ello que en la presente tesis se presenta una implementación
de la PG para la extracción de formulaciones matemáticas.

3.4.1 Parámetros del sistema


Los parámetros que se deben configurar en el sistema son de 2 tipos.

En primer lugar los relativos al proceso evolutivo que se deben estimar por
experimentación, dependiendo de la complejidad del problema a resolver. Los
parámetros en cuestión son:
¾ Algoritmo de creación de población
o Completo
o Parcial
o Intermedio
¾ Algoritmo de selección
o Torneo
o Ruleta
o Sobrante estocástico
o Universal estocástica
o Muestreo determinístico
¾ Algoritmo de mutación
o Subárbol
o Puntual
¾ Estrategia elitista
¾ Utilizar cruces no destructivos
¾ Tasa de cruces
¾ Probabilidad de mutación
¾ Probabilidad de selección de no terminal
¾ Tamaño de la población
¾ Nivel de parsimonia (Parámetro de optimización, en la sección 3.4.2 se explicará en detalle)

Para ajustar los parámetros ideales se debe realizar un análisis empírico probando
ciertas combinaciones e ir ajustando progresivamente los diferentes valores hasta
alcanzar los mejores resultados.
Capítulo 3. Descripción del sistema 73

En segundo lugar, los parámetros relativos a los nodos terminales y no


terminales que van a intervenir en la ejecución del algoritmo. Aquí interviene el
conocimiento “a priori” que se disponga del problema, pues cuanto más acotado esté la
información relativa al mismo, mejores resultados se obtendrán, y con mayor rapidez.

Los parámetros a seleccionar en este sentido son:


¾ Operadores Aritméticos
o Suma
o Resta
o Producto
o División
o Cuadrado
o Raíz Cuadrada
¾ Funciones Logarítmicas
o Logarítmica Sigmoidal
o Exponencial
o Hip. Tg. Sigmoidal
o Logaritmo Neperiano
o Logaritmo en Base 10
¾ Funciones Trigonométricas
o Seno
o Coseno
o Tangente
o Arco seno
o Arco coseno
o Arco tangente
o Seno hiperbólico
o Coseno hiperbólico
o Tangente hiperbólica
¾ Operadores Lógicos
o AND
o OR
o NOT
¾ Operadores Relacionales
o >, <, =, <>, >=, <=
o Rangos
¾ Funciones de Decisión
o IF–THEN– ELSE sobre reales
o IF–THEN– ELSE sobre booleanos
Capítulo 3. Descripción del sistema 74

¾ Funciones Umbral
o Signo
o Escalón
¾ Ventanas Temporales (problemas dinámicos-temporales)
o Número de entradas anteriores
o Número de salidas anteriores
¾ Constantes
o Selección aleatoria en rango o establecidas manualmente
¾ Variables de Entrada
o Determinar una por una si es real o booleana
¾ Naturaleza de las Salidas
o Real
o Booleana
o Convertir Real a Booleana (especificando el umbral)

Un algoritmo de extracción de expresiones debería poder implementar algún


mecanismo que permita la incorporación “a priori” del conocimiento que se tiene del
problema, ya que así reducirá de forma considerable el espacio de búsqueda. Con la
utilización de la PG esto sí es posible debido a que se puede controlar y determinar el
número y el tipo de elementos terminales y no terminales que intervienen en el proceso
de búsqueda. Así, por ejemplo, si se sabe que el problema se puede resolver únicamente
con funciones aritméticas (sumas y restas), en la configuración de parámetros se
prescinde de todas las demás funciones.

Como se puede observar existe una gran variedad de posibles configuraciones, así
cuanta más información se disponga del problema más se pueden establecer de
antemano los valores de los anteriores parámetros. En otro caso es necesaria la
experimentación para determinar cuáles son los mejores.

Al igual que en las RR.NN.AA., el proceso necesita un período de aprendizaje


basado en ejemplos, para ello se le debe suministrar el conjunto de datos de entrada y
salida para que el algoritmo pueda extraer las relaciones existentes en los mismos en
forma de ecuaciones matemáticas. Por lo tanto, lo presentado en el capítulo 2 relativo a
la construcción de los ficheros de entrenamiento, se aplica igualmente para este proceso
basado en PG.
Capítulo 3. Descripción del sistema 75

3.4.2 Optimización
Para evitar redundancia en las expresiones que produce la PG y un crecimiento
excesivo de éstas, se incluye un factor de parquedad (parsimony) en el cálculo del ajuste
[SOUL 97] [SOUL 98]. Esta técnica se puede usar para reducir la complejidad del árbol
que está siendo evaluado, y funciona mediante la penalización en el ajuste del individuo
i de la siguiente forma:
f (i ) = P(i ) + α ⋅ s i

Ecuación 12. Función de ajuste usando parsimonia.

Donde P(i) es una medida de la bondad del individuo (en este caso, peor cuanto
más positivo), α es el nivel de parsimonia y Si es el tamaño (número de nodos) del
individuo. Con este coeficiente se está penalizando el número de nodos de un árbol, y su
valor máximo suele ser de 0.1. Con este valor, se necesitará que el árbol tenga 10 nodos
para incrementar en una unidad el valor de ajuste. Sin embargo, un valor tan alto ya es
muy dañino en la evolución, y se suelen tomar valores menores (0.05, 0.01, etc.),
dependiendo del rango de valores en los que se espera que estén los ajustes de los
individuos.

Con este parámetro, a medida que evoluciona el algoritmo de PG se van


seleccionando aquellas ecuaciones que ante un valor de ajuste similar sean más
sencillas, lo cual es un factor clave en el resultado final que producirá el sistema, pues
seleccionando un valor adecuado se podrán obtener resultados entendibles por el
experto. Así mismo, el usuario podrá decidir si prefiere obtener un valor de ajuste
máximo, no utilizando este parámetro (parsimonia=0) y pudiendo obtener una expresión
matemática muy compleja. O bien, utilizar un valor de parsimonia que permita
evolucionar el algoritmo y obtener expresiones simples, aunque con un peor valor de
ajuste. Cabe indicar que en el programa desarrollado, a medida que avanza el proceso de
extracción de expresiones es posible modificar el valor de parsimonia, aconsejándose
que inicialmente este valor sea bajo y posteriormente, cuando se obtienen resultados
Capítulo 3. Descripción del sistema 76

deseables, aumentar el valor de la parsimonia para favorecer la reducción de las


expresiones.

3.4.3 Coeficientes de seguridad


En muchos casos, cuando se está buscando una expresión matemática que
represente el funcionamiento de un proceso físico, se debe permitir controlar el
mecanismo de búsqueda hacia ciertas características imprescindibles de operación. Un
ejemplo es el hecho de que el cálculo de una estructura se realiza mediante una fórmula
matemática, pero existe un coeficiente de seguridad que determina que el valor de
cálculo estará sobredimensionado un cierto valor, por ejemplo el cálculo de resistencia
de una viga de hormigón (ver capítulo 4). En estos casos, cuando se busca una fórmula
que explique el funcionamiento de un proceso, no sólo es importante que produzca un
buen ajuste a los datos experimentales sino que además sean seguras, es decir, si se
desea calcular la resistencia que tendrá una viga, es importante que la predicción no sea
superior al valor real, pues de lo contrario, la viga se podrá romper y eso supone una
catástrofe desde el punto de vista de ingeniería.

Para incrementar la seguridad de las fórmulas generadas, se incorpora un proceso


de penalización al algoritmo de PG, al igual que el parámetro de parsimonia. Este
proceso introduce una penalización a los individuos que predicen valores inseguros, es
decir, valores superiores o inferiores (configurable según el tipo de problema) a los
reales. De esta manera, individuos con buena capacidad predictiva que devuelvan
valores inseguros tendrán menor ajuste que individuos más conservadores pero con
menor fidelidad con respecto a los valores reales.

Para incorporar este comportamiento de seguridad en la expresión buscada


mediante PG se modifica la función clásica de ajuste (fitness) con un parámetro de
penalización.

La idea de este proceso es que de forma dinámica, a la vez que se evalúan las
expresiones obtenidas, se calcule el coeficiente de seguridad y se penalice si el resultado
Capítulo 3. Descripción del sistema 77

produce valores inseguros, para ello se establecen unos criterios que indican para cada
caso del fichero de entrenamiento si es seguro o no, finalmente se suman todos los
valores inseguros y se penaliza proporcionalmente a la cantidad de “inseguridad” de la
fórmula.

La función de ajuste utilizada es la siguiente (combinada con el valor de


parsimonia comentada en el punto anterior):

1− ∑
xi − d i + si
⋅100 − α ⋅ ci
n ⋅ ∑ di

si = p ⋅ ∑ xi − d i if xi > d i
xi = valor predicho por la fórmula genética
di = valor real
p= penalización de seguridad.
α= coeficiente de parsimonia.
ci = complejidad del individuo, medida en
número de nodos
Ecuación 13. Función de ajuste incorporando coeficiente de seguridad.

De esta manera los valores inseguros obtenidos harán que la expresión


representada no sea buena, y dentro del proceso evolutivo tenderán a desaparecer en
generaciones futuras. Por lo que se favorece la obtención de expresiones que tengan un
alto comportamiento de seguridad.

3.4.4 Modelización de la relación entre señales mediante retardos


temporales
En muchos ámbitos de la Ingeniería Civil se necesita modelar una relación entre
dos señales. A partir de una o varias señales de entrada generar una señal de salida con
unas características específicas.

El objetivo principal de este módulo es conseguir una señal que modelice el


sistema definido por la relación entre la señal de entrada y la de salida teniendo la forma
de la Ecuación 14.
Capítulo 3. Descripción del sistema 78

− ki ⋅n

∑c ⋅ e
i
i

Ecuación 14. Relación entre las 2 señales a modelizar.

Esta expresión modeliza un filtro selectivo en el tiempo entre señales, es decir,


una transformación que a partir de una señal de entrada genera una señal de salida y
dicha transformación viene caracterizada por una señal h(n), que tiene dicha forma.

Este será un sistema discreto, y como tal la relación de las señales se plasma en
una ecuación en diferencias del estilo:
M N

∑ bi ⋅ y(n − i) = ∑ ai ⋅ x(n − i)
i =0 i =0

Ecuación 15. Relación entre las 2 señales a modelizar en un sistema discreto.

donde x(n) es la señal de entrada, y(n) es la señal de salida y los bi y ai son las
constantes que relacionan las muestras desplazadas de la entrada y la salida. M
representa el número de muestras del pasado de la salida generada que se utilizan, y N
representa el número de muestras del pasado de la entrada que se utilizan para generar
la salida.

Los sistemas discretos también tienen una representación en el dominio Z. En


matemáticas y procesamiento de señales, la Transformada Z convierte una señal que
esté definida en el dominio del tiempo discreto (que es una secuencia de números
reales) en una representación en el dominio de la frecuencia. Esta representación está
definida por un conjunto de polos y ceros (dk y ck respectivamente, valores complejos) y
una constante K, de acuerdo con la siguiente expresión:
M

∏(z − c K )
H (z ) = K * K =0
N

∏ (z − d
K =0
K )

Ecuación 16. Representación en el dominio Z.


Capítulo 3. Descripción del sistema 79

Los ceros y los polos designan valores complejos, y se representan en un


diagrama en dos dimensiones llamado diagrama de polos y ceros. Como valores
complejos, tienen parte real e imaginaria, pero el valor absoluto de un polo nunca
excede 1, porque de ser así el sistema se volvería inestable. En definitiva, los ceros son
las soluciones de la ecuación obtenida de igualar el numerador a cero, mientras que los
polos son las de la ecuación que se obtiene al igualar a cero el denominador. Se puede
factorizar el denominador mediante la descomposición en fracciones simples, las cuales
pueden ser transformadas de nuevo al dominio del tiempo. Haciendo esto obtenemos la
respuesta al impulso y la ecuación diferencial de coeficientes lineales constantes del
sistema. Después de encontrar los polos y ceros de una Trasformada-Z, se puede
realizar una gráfica en el plano-Z. El plano-Z es un plano complejo con ejes reales e
imaginarios para la variable compleja de Z. La posición del plano complejo es dada por
rejθ y el ángulo se da del lado positivo del eje real del plano y se escribe θ. Al dibujar
los polos y ceros, los polos son mostrados con "X" y los ceros con "O". La siguiente
figura muestra el plano-Z.

Im (z)

rejθ

Re (z)

Figura 16. Plano-Z.

Las tres ecuaciones anteriores denotan el mismo sistema, la primera como la


respuesta al impulso, la segunda en el dominio del tiempo y la tercera en el dominio Z
(de la frecuencia), así que es posible obtener cualquiera de las tres a partir de cualquier
otra.
Capítulo 3. Descripción del sistema 80

Para poder modelizar las funciones en el sistema es necesario reestructurar el


algoritmo de PG, de esta forma se permite la resolución de problemas de este tipo.

Para generar el conjunto de polos y ceros, se utiliza la siguiente configuración:

¾ Conjunto de elementos no terminales: { Filtro, Par, Polo, Cero, +, *, -, % }


ƒ Filtro: de tipo “FILTRO”, toma dos hijos: el primero, de tipo “REAL”,
define la constante del sistema. El segundo hijo será de tipo
“CERO_POLO”. Dada la forma del sistema de tipos creado, este nodo será
la raíz de cada árbol.
ƒ Par: de tipo “CERO_POLO”, toma dos hijos de tipo “CERO_POLO”. Hace
evaluar cada uno de sus hijos.
ƒ Pole, de tipo “CERO_POLO”, toma dos hijos, de tipo “REAL”. Caracterizan
la situación de un polo como su parte real e imaginaria. Su evaluación
provoca el almacenamiento en una variable interna del polo designado y de
su conjugado, en caso de ser complejo.
ƒ Zero, de tipo “CERO_POLO”, toma dos hijos, de tipo “REAL”.
Caracterizan la situación de un cero como su parte real e imaginaria. Su
evaluación provoca el almacenamiento en una variable interna del cero
designado y de su conjugado, en caso de ser complejo.
ƒ +,-,*,% son las operaciones aritméticas de suma, resta, producto y división.
Las cuatro funciones son de tipo “REAL” y toman dos hijos del mismo tipo.

¾ Conjunto de elementos terminales: { [-1,1] }. Como elementos terminales, se


tiene el intervalo real entre –1 y 1, para la generación de números aleatorios en
ese rango.

Se ha utilizado este conjunto porque, aunque se aleja de la representación deseada


del sistema, sitúa de forma directa polos y ceros, y se aprovecha de una forma más
eficiente las operaciones de cruce y mutación, que provocan en los polos y ceros un
desplazamiento efectivo en el diagrama. Además, esta representación tiene otra ventaja:
Capítulo 3. Descripción del sistema 81

antes de realizar la simulación se sabe si un sistema va a ser inestable, hecho que ocurre
cuando el valor absoluto de un polo es igual o superior a la unidad.

En el capítulo 5 (dentro del ámbito de la Hidrología) se muestra un ejemplo donde


se incluye el módulo que implementa las tareas aquí planteadas.
Capítulo 3. Descripción del sistema 82
“Una sola piedra puede
desmoronar un edificio”

Francisco de Quevedo y Villegas

CAPÍTULO
4 RESULTADOS EN EL ÁREA DE
CONSTRUCCIÓN

4.1 Introducción
La adherencia entre el hormigón y el acero es uno de los pilares básicos que
garantiza el correcto funcionamiento del hormigón estructural, entendido como
“simbiosis” entre los materiales hormigón y acero. El planteamiento de la formulación
de adherencia para hormigón armado suele basarse en la determinación de la longitud
de anclaje necesaria para conseguir la correcta fijación de la barra. Se puede definir,
entonces, la longitud de anclaje como la necesaria para garantizar la resistencia del
anclaje por adherencia hasta la rotura del acero. Actualmente no existen formas de
medir empíricamente la longitud de anclaje, por lo que se emplean distintas
aproximaciones en forma de normativas. En esta tesis se presentan dos soluciones
innovadoras, por un lado utilizando una RNA y por otro utilizando PG.
Capítulo 4. Resultados en el Área de Construcción 84

En primer lugar se aplicarán las RR.NN.AA. al problema del cálculo o


determinación de las longitudes de anclaje de armaduras pasivas de acero en vigas de
hormigón armado, y en segundo lugar se aplicará el módulo de extracción de
expresiones al problema comparándolo con la normativa existente para comprobar la
mejora de las expresiones matemáticas obtenidas.

4.2 Descripción del problema


La adherencia entre el hormigón y el acero que conforma su armadura pasiva se
puede definir como el conjunto de efectos en las zonas de contacto hormigón-acero,
asociados al deslizamiento relativo entre ambos, siendo una de las primeras
formulaciones la propuesta por Abrams en 1913 [ABRA 13]. Esta propiedad es
primordial para que el conjunto hormigón-acero se comporte como un único material
estructural, garantizando la transmisión de tensiones entre ambos.

El hormigón armado sería inconcebible en sus aplicaciones sin la propiedad de


adherencia hormigón-acero, existiendo tres fenómenos asociados a la adherencia:

- Adhesión por contacto (adherencia química): es de naturaleza física y


se produce a través de fuerzas moleculares.

- Adherencia por fricción o rozamiento: es de naturaleza mecánica y se


produce debido a la irregularidad de la superficie de las barras que
provoca que cuando se inicia el deslizamiento entre el hormigón y las
barras se generan unas fuerzas tangenciales en la superficie de contacto
(ver Figura 18).

- Adherencia por acuñamiento en el caso de barras corrugadas: este


efecto depende de la altura y la separación entre las corrugas,
apareciendo unas fuerzas que se transmiten al hormigón [DARW 96].
La componente principal de la adherencia es la resistencia a la
deformación del hormigón al actuar contra él los frentes de las corrugas
[KEMP 86].
Capítulo 4. Resultados en el Área de Construcción 85

Eventualmente el deslizamiento del hormigón paralelo a la barra puede dañarlo,


produciendo fisuras que conllevan una pérdida de adherencia, para aumentar la
capacidad de adherencia de las barras, éstas se doblan en sus extremos, formando un
anclaje sobre el hormigón (ver Figura 17).

a) Longitud básica de anclaje lb b) Longitud de anclaje equivalente para patilla


estándar

c) Longitud de anclaje d) Longitud de anclaje e) Barra transversal soldada


equivalente para gancho equivalente para gancho en U
estándar
Figura 17. Tipos de anclaje.

Igualmente hay varios factores que influyen en la capacidad de adherencia que


vienen determinados directamente por las condiciones geométricas y la composición de
los elementos que forman el conjunto: hormigón, barras de acero y sus anclajes.
También influye en el rendimiento y en la estabilidad de la estructura los ciclos de
cargas, ya que a mayor fatiga del conjunto se produce una disminución de la capacidad
de adherencia.

Las armaduras pueden dar lugar a tensiones de tracción en el hormigón debido a


un mecanismo de carga concentrada, como por ejemplo en las zonas de anclaje, a través
de la componente radial de las tensiones de adherencia en el caso de barras corrugadas.
Como muestra Roberto Vera en su tesis doctoral [VERA 92], se puede ejemplificar la
acción de las componentes radiales actuando sobre el hormigón mediante la
consideración de éste como un anillo de considerable espesor sometido a una presión
hidráulica interna (ver Figura 18).
Capítulo 4. Resultados en el Área de Construcción 86

Figura 18. Representación esquemática del equilibrio de la componente radial de las tensiones de
adherencia y tangenciales [VERA 92].

El planteamiento de la formulación de adherencia se basa en que se produzca


simultáneamente la rotura por adherencia y la rotura por tracción de la barra. Se busca la
condición de equilibrio en la Ecuación 17, siendo la variable de diseño (objetivo) la
longitud de anclaje (en la Figura 19 se puede observar el tipo de ensayo Pull-Out).

Π · ф · LD · τmed = σmax · Π · (ф/2)2


Π · ф · LD = Superficie de contacto entre la barra y el acero
τmed = Tensión de adherencia media
σmax = Tensión de plastificación de la barra
Ecuación 17. Ecuación de equilibrio entre rotura por adherencia y por tracción.

4.3 Planteamientos normativos actuales


Actualmente existen varios tests eficaces para determinar de forma empírica la
tensión de arrancamiento de la barra, por ejemplo, los ensayos beam-test o pull-out
[MURC 01] (ver Figura 19). El cálculo de la longitud de anclaje, sin embargo, es
complicado debido a la gran cantidad de variables que intervienen en el proceso, por lo
que se sustituye por fórmulas más sencillas contrastadas experimentalmente de
tendencias muy conservadoras.

A lo largo de los últimos 60 años se han acometido una serie de campañas


experimentales destinadas a conocer y cuantificar la influencia de las distintas variables
en la adherencia de las barras. Fruto de estos experimentos se han obtenido diversas
normativas y formulaciones para determinar la longitud de anclaje necesaria, que se
comentan brevemente a continuación.
Capítulo 4. Resultados en el Área de Construcción 87

LD τ

ф
Figura 19. Ensayo Pull-Out.

Una de las primeras formulaciones fue la de Abrams [ABRA 13] quien determinó
en la primera década del siglo XX las condiciones de anclaje en barras lisas. Los
planteamientos más recientes surgen de los trabajos de Orangun [ORAG 77],
inspiradores de la formulación americana del American Concrete Institute (ACI).

Tras ensayos experimentales se postula una formulación para la tensión de


adherencia (u) y se propone una fórmula de cálculo normativa de la longitud de anclaje
( l ). En esta expresión influyen parámetros geométricos dependientes de la armadura
d
de tracción y de la armadura transversal.
l f y − 200 f c
u 1 Atr ⋅ f yt d =
= db ⎛ 5 c A ⋅f ⎞
f c 500 s ⋅ d ⎜⎜1 + ⋅ + tr yt ⎟⎟ ⋅ 4.8 f c
⎝ 2 d b 600 ⋅ s ⋅ d ⎠

fy = límite elástico de las barras.

Atr = área total de armadura transversal.


fyt = límite elástico del acero de armadura transversal.
s= máxima separación entre centros de armadura transversal en longitud.
db = diámetro nominal de la barra.

fc = resistencia a compresión del hormigón.


c= menor de las siguientes distancias: recubrimiento lateral o inferior del hormigón,
la mitad de la separación entre barras (medida de centro a centro de barra).
Capítulo 4. Resultados en el Área de Construcción 88

¾ Norma americana ACI [ACI 99]: la actual norma ACI de 1999 plantea la
siguiente expresión para el cálculo de la longitud de anclaje. En ella se considera
que la tensión del acero traccionado (al igual que hizo Orangun) es la
correspondiente al límite elástico de cálculo, lo que equivale a considerar que la
barra desliza a la máxima carga de la barra y no a su teórica tensión de trabajo,
que puede ser menor.
f ⋅α ⋅ β ⋅ λ ⋅ γ ⋅ d
3 y b
l = ⋅
d 40 ⎡c + K ⎤
f ⋅⎢ tr ⎥
c ⎢ d
⎣ b ⎥⎦
[(c + ktr ) / d b ] < 2.5 α·β < 1.7
fy = límite elástico de las barras.
α= coeficiente de 1.3 para barras top de adherencia deficiente, 1.0 para el resto.
β= dependiente del material de las barras y si tienen recubrimiento y/o espaciamiento.
γ= coeficiente dependiente del diámetro de las barras.
λ= 1.0 para hormigones de densidad normal.
db = diámetro nominal de la barra.

fc = resistencia a compresión del hormigón.


c= menor de las siguientes distancias: recubrimiento lateral o inferior del hormigón, la mitad
de la separación entre barras (medida de centro a centro de barra).
fyt Atr = área total de armadura transversal separada “s”, que atraviesa
K tr = Atr ⋅
el posible plano de deslizamiento dónde las barras están
1500 ⋅ s ⋅ n
siendo ancladas.
fyt = límite elástico del acero de armadura transversal.
s = máxima separación entre centros de armadura transversal en
longitud.
n = número de barras ancladas a lo largo del plano de
deslizamiento.
Ecuación 18. Norma americana ACI.

¾ EuroCódigo EC2 [EURO 02]: Los estudios en el ámbito europeo se desarrollaron


en el C.U.R. y contribuyeron decisivamente los ensayos de Tepfers [TEPF 93].
Fruto de este conocimiento se ha desarrollado la normativa propuesta para el
código de hormigón estructural Eurocódigo2 [EURO 02]. Esta norma propone la
definición de la longitud de anclaje a partir de la tensión de adherencia y la
longitud de anclaje básica, y su expresión puede ser aplicada para hormigones de
Capítulo 4. Resultados en el Área de Construcción 89

alta resistencia, es decir, para resistencia a la compresión superior a 60 MPa


(Mega Pascales, 1MPa = 1 N/mm2).

Tensión de adherencia: fbd = 2.25 η1 η2 fctd donde:

fctd valor de la resistencia a tracción del hormigón limitada a la de un C60 (MPa).


η1 coeficiente relativo a la condición de adherencia según la posición de la barra:
1.0 para buenas condiciones
0.7 para otros casos
η2 relativo al diámetro de la barra
1.0 para ф ≤ 32 mm
(132 – ф)/100 para ф > 32 mm

Longitud de anclaje básica: Ld = ( ф / 4) ( σsd / fbd), donde:

σsd límite elástico del acero de la barra a anclar (MPa)


fbd tensión de adherencia definida anteriormente (MPa)
ф diámetro de la barra (mm)
ld= ( ф / 4) ( σsd / ( 2.25 η1 η2 fctd))

Ecuación 19. Norma europea EC2.

¾ Norma española EHE [EH 98]: En España el Instituto Eduardo Torroja


desarrolló un completo trabajo experimental (cerca de 4000 ensayos) que sirvieron
de base para el planteamiento de la determinación de la longitud de anclaje en la
versión de la instrucción de 1982 de la Norma Española [EH 82]. Los resultados
de los ensayos realizados determinaron la existencia de una fuerte relación entre la
tensión de adherencia y el diámetro de la barra. Además, se determina que las
longitudes de anclaje dependen de la posición que ocupan las barras en la pieza de
hormigón distinguiendo dos posiciones:

ƒ Posición I, de adherencia buena, para las armaduras que


durante el hormigonado forman con la horizontal un ángulo
comprendido entre 45º y 90º o que en el caso de formar un
ángulo inferior a 45º, están situadas en la mitad inferior de
la sección o a una distancia igual o mayor a 30 cm de la
cara superior de una capa de hormigonado.
Capítulo 4. Resultados en el Área de Construcción 90

ƒ Posición II, de adherencia deficiente, para las armaduras


que, durante el hormigonado, no se encuentran en ninguno
de los casos anteriores. En esta posición, las longitudes de
anclaje serán iguales a 1,4 veces las de la posición I.

Tras distintas aproximaciones y experimentos, se dedujeron las siguientes


formulaciones, que se mantienen válidas en la propuesta de revisión de la Instrucción
de 2007, cuyo ámbito se extiende a hormigones de hasta 100 MPa [EHE 07].

f yk
l = m ⋅φ 2 ≥ ⋅φ
d posición I 20
f yk
l = 1.4 ⋅ m ⋅ φ 2 ≥ ⋅φ
d posición II 14
2
f yk = límite elástico garantizado del acero N/mm .
φ= diámetro de la barra.
m= coeficiente numérico en función del tipo de acero, obtenido de resultados experimentales
Ecuación 20. Norma española EHE.

¾ Fórmula de Zuo [ZUO 00b]: basada en la expresión de la ACI, teniendo en


cuenta hormigones de alta resistencia (la expresión vigente alcanza resistencias de
hasta 70 MPa). Recientemente Zuo planteó una campaña de ensayos que intentaba
reconstruir la expresión de la ACI teniendo en cuenta este tipo de hormigones, con
resistencias ensayadas de hasta 100 MPa.

fs ⎛ c ⎞
− 2350 ⋅ ⎜⎜ 0.1⋅ max + 0.9 ⎟⎟
l 1/ 4
cmin
d = fc ⎝ ⎠
db ⎛ c + K tr ⎞
76.1⋅ ⎜⎜ ⎟⎟
⎝ d b ⎠
Ecuación 21. Fórmula de Zuo.

Estas expresiones han sido obtenidas de forma experimental dando prioridad a


unas variables sobre otras en función de los ensayos de prueba, lo que provoca
disparidad en las expresiones utilizadas en las fórmulas.
Capítulo 4. Resultados en el Área de Construcción 91

Expertos en el campo de la Ingeniería Civil del laboratorio de construcción del


CITEEC y de la Escuela Técnica Superior de Ingenieros de Caminos, Canales y Puertos
de la UDC han realizado una serie de comparativas entre estas normas. De los
resultados de estas pruebas se deducen las siguientes conclusiones:

• Las distintas normativas trabajan con variables y condiciones distintas, por lo


que no existe unanimidad de tratamiento de resultados a la hora de definir una
fórmula para determinar la longitud de anclaje de las armaduras pasivas.

• Estas fórmulas tienden a devolver valores conservadores en exceso,


garantizando la seguridad de la estructura a toda costa.

• Las normativas ACI y la española EHE no están adaptadas a hormigones de


alta resistencia, cuyo uso cada vez está más extendido, aunque la propuesta de
revisión de la EHE alcanza a este tipo de materiales, aunque de forma
conservadora en lo que al planteamiento de la adherencia se refiere.

• La EHE se ha obtenido exclusivamente por métodos experimentales, mientras


que el EC2 se basa en la relación teórica entre tensión y superficie de
adherencia.

4.4 Conjunto de ensayo y variables de entrada


Se utiliza una base de datos con 517 ensayos de laboratorio en los que se ha
medido la tensión de trabajo de la barra (fs) y la longitud de anclaje (ld) sobre diferentes
estructuras [CHAM 52] [CHIN 55] [DARW 96] [DEVR 91] [FERG 62] [FERG 65a]
[FERG 65b] [FERG 69] [HEST 93] [MATH 61] [REZA 91] [REZA 93] [THOM 75]
[ZUO 00a]. De estos ensayos, en total se utilizan sólo 315 casos, se seleccionan 284 que
se utilizan para entrenar la RNA y el algoritmo de PG, y 31 como ensayos de control o
de test. Estos últimos se corresponden con ensayos representativos de todas las posibles
combinaciones de hormigones de alta resistencia con aceros en las diferentes escalas de
resistencia obtenidas y, por consiguiente, representativos del espacio de búsqueda
global.
Capítulo 4. Resultados en el Área de Construcción 92

Separar el conjunto de patrones de entrada en entrenamiento y verificación es una


práctica común en el campo de los sistemas supervisados, de esta forma se evita que el
sistema se especialice y pierda capacidad de generalización. Se trata de que el proceso
continúe mientras aumenta el ajuste del sistema, tanto a nivel de patrones de
entrenamiento como de test. Estos conjuntos de entrenamiento, después de ser
normalizados, se utilizarán para entrenar una RNA que permita obtener un sistema de
predicción, por un lado de tensión de trabajo de las barras y por otro de la longitud de
anclaje. Así mismo, se utilizarán para el algoritmo de PG, permitiendo, a diferencia de
la RNA, obtener en forma de ecuaciones matemáticas la solución del problema.

Método Número de ensayos


Ferguson & Thompson, 1962 9
Ferguson & Thompson, 1965 14
Chinn, Ferguson & Thompson, 1955 40
Ferguson & Breen, 1965 20
Ferguson & Briceno, 1969 20
Ferguson & Krishnaswamy, 1971 12
Chamberlin, 1956 6
Thompson, Jirsa, Breen, Meinheit, 1975 16
Mathey y Watstein 11
Jeanty, Mitchell & Mirza, 1988 5
deVries & Moehle, 1989 16
Treece & Jirsa, 1989 18
Tepfers, 1973 141
Kemp, 1977 12
C.U.R., 1963 45
Hester, Salamizavareg, Darwin & McCabe, 1993 15
Zuo & Darwin 2000 66
Rezansoff, Konkankar & Fu, 1991 18
Rezansoff, Akanni & Sparling, 1993 4
Choi, Hadje-Ghaffari, Darwin, McCabe, 1990 8
Heflin, 1992 21

Tabla 2. Autores y ensayos referenciados.

Para un buen proceso de extracción de conocimiento (ya sea con una RNA o
mediante CE) es necesario seleccionar las variables más representativas del problema,
sus rangos de valores y las características de ellas. En la base de datos hay ensayos que
trabajan con variables utilizando valores alejados del promedio, mientras que otros
Capítulo 4. Resultados en el Área de Construcción 93

están trabajando utilizando variables con escasa relevancia en el proceso. Cualquier


sistema de extracción de conocimiento es sensible cuando el conjunto de entrada
presenta valores no uniformes, devolviendo resultados con una baja capacidad de
generalización.

La primera tarea, por tanto, es seleccionar las variables que tengan una influencia
mayor en el proceso. El conjunto de entradas seleccionadas son db, cb, cp, cs, fc y A. En
función de lo que interese conseguir (ya sea la tensión de trabajo de las barras (fs) o bien
la longitud de anclaje (ld)) se incluirá una entrada adicional con dichos valores. Mientras
que la salida será la variable que nos interesa obtener (fs o ld). Por tanto habrá dos
configuraciones posibles de conjuntos de entrenamiento:

¾ Cuando el objetivo sea predecir la tensión de trabajo de las barras, el


sistema estará configurado según indica la Figura 20.

db
cb
cp
cs fs
fc
A
ls

Figura 20. Configuración de entradas-salidas para predecir la tensión de trabajo de las barras.

¾ Cuando el objetivo sea predecir la longitud de anclaje, el sistema estará


configurado según indica la Figura 21.

db
cb
cp
cs ls
fc
A
fs

Figura 21. Configuración de entradas-salidas para predecir la longitud de anclaje.


Capítulo 4. Resultados en el Área de Construcción 94

Las variables utilizadas, las más características del proceso, se resumen en la


Tabla 3.

Variables Descripción

db diámetro de la barra (mm).


cp distancia entre centros de las barras (mm).
cs recubrimiento lateral (mm).
fc resistencia a compresión del hormigón (MPa).
A
⎛A ⋅f ⎞
A = ⎜ tr st ⎟⎟ (MPa)
⎜n⋅s⋅d
⎝ b ⎠

Atr = area de armadura transversal


db = diámetro de la barra (mm)
fst = límite elástico del acero (MPa)
n = número de barras
s = separación de la armadura tranversal (mm)
cb recubrimiento inferior (mm).
Para obtener:
fs tensión de trabajo de las barras (MPa).
ó
ld longitud de anclaje (mm).

Tabla 3. Variables del proceso.

Una vez seleccionadas las variables del dominio del problema, es necesario
establecer una configuración de rangos adecuada para el proceso de normalización de
los ficheros de entrenamiento, eliminando del proceso de aprendizaje aquellos ensayos
que se encuentren fuera del rango. Por ejemplo, si el 98% de los ensayos están
realizados con hormigón entre 60 y 110 MPa, no se debería considerar el 2% restante de
los ensayos, eliminándolos de los ficheros de entrenamiento.
db entre 0 y 45 mm.
cb entre 0 y 120 mm.
cp entre 0 y 600 mm.
cs entre 0 y 300 mm.
fc entre 0 y 110 MPa.
A entre 0 y 30 MPa.
fs entre 0 y 600 MPa.
ld entre 0 y 1800 mm.
Capítulo 4. Resultados en el Área de Construcción 95

Una vez establecidos los rangos, en la base de datos existen ensayos con variables
utilizando diferentes escalas y métricas, siendo necesario un proceso de eliminación y
normalización de valores utilizando los rangos anteriores. A continuación se eliminan
aquellos ensayos que tienen armaduras cubiertas de epoxi y ensayos con barras
superiores porque presentan problemas de adherencia. Los ensayos donde las barras han
sido recubiertas de epoxi, para evitar la oxidación de las mismas, se han eliminado
puesto que no serían comparables con los ensayos donde las barras están en contacto
directo con el hormigón, debido a que la superficie final de contacto acero-hormigón es
muy diferente. Algo similar ocurre en los ensayos que utilizan barras superiores de
adherencia defectuosa por la presencia de pequeñas burbujas de aire bajo las barras,
cuyo efecto es más difícilmente cuantificable.

Finalmente, debido a que cada variable utiliza un rango diferente, se realiza el


proceso de normalización de todas ellas en el rango [0-1]. Con esto se pretende evitar el
hecho de que variables con valores bajos tengan menos importancia dentro del proceso
de extracción de conocimiento.

Una vez aplicados estos procesos, la base de datos queda con un total de 315
ensayos, de los cuales 284 son para entrenamiento y 31 para validación. Estos 31
ensayos se han seleccionado para que sean representativos de todo el espacio de
búsqueda y se pueda obtener una buena medida de la capacidad de generalización del
sistema.

4.5 Propuesta con RNA


A continuación se va a abordar la resolución del problema utilizando RR.NN.AA.
El objetivo es entrenar una RNA para que simule comportamientos de estructuras de
hormigón con armaduras pasivas de acero, haciendo especial hincapié en la seguridad
de las estructuras y la eficacia de las soluciones obtenidas. Las RR.NN.AA. se emplean
en este caso como un sistema de predicción por medio de regresión: se utilizan los
valores existentes para predecir los valores que van a ocurrir, modelizando de esta
manera el comportamiento de adherencia acero-hormigón.
Capítulo 4. Resultados en el Área de Construcción 96

En la Figura 22 se puede observar la configuración y estructura general del


sistema de predicción que se establece para modelizar dicho comportamiento.

Figura 22. Sistema de predicción mediante RNA.

4.5.1 Determinación de la arquitectura de la RNA.


Para la simulación del comportamiento de la estructura se van a utilizar
RR.NN.AA. feedforward entrenadas mediante el sistema propuesto en el capítulo 3.
Este tipo de RNA, cuando está bien entrenada, tiende a dar respuestas razonables ante
entradas que no ha visto nunca, siendo este comportamiento conocido como capacidad
de generalización, y unido a que son buenas aproximadoras de funciones, las hacen
apropiadas para este tipo de problemas.

Como se ha comentado anteriormente, uno de los puntos más complicados a la


hora de utilizar RR.NN.AA. es la determinación de la arquitectura de la red, no
existiendo métodos teóricos para escoger una disposición de red determinada, por lo que
se aconseja un estudio empírico para cada problema.

La RNA, inicialmente, constará de tres capas, una de entrada con tantos elementos
de procesado como variables que intervienen en el proceso (7), una oculta con un
número de neuronas a determinar experimentalmente y una de salida con una neurona
que produzca la predicción de la tensión de trabajo de las barras, en el primer caso, y la
longitud de anclaje en el segundo.
Capítulo 4. Resultados en el Área de Construcción 97

Debido a que tanto para obtener la tensión de trabajo de las barras como la
longitud de anclaje se ha utilizado el mismo número de patrones y de variables, se
asume que una configuración neuronal adecuada para resolver el problema de la tensión
de trabajo de las barras será adecuada también para determinar la longitud de anclaje.

En primer lugar se determinarán las funciones de transferencia más adecuadas


para las neuronas de la capa oculta y la de salida. Una vez obtenida, se determinará el
número de neuronas ocultas que hay que utilizar, asegurándose que el sistema obtiene
un alto nivel de eficiencia y capacidad de generalización.

4.5.1.1 Determinación de la función de transferencia.

Para este estudio se ha utilizado una RNA con 20 neuronas en la capa oculta. Las
funciones de transferencia utilizadas son las clásicas en el contexto de las RR.NN.AA.:
sigmoide, hiperbólica tangente y lineal.
1
1

0
0.5

-1
0

Ecuación 22. Funciones de activación sigmoide e hiperbólica tangente.

Se han probado todas las combinaciones de estas tres funciones en la capa oculta
y la de salida, para un número de 2500 iteraciones, y cada experimento se ha repetido
10 veces para reducir el carácter estocástico del proceso derivado de la inicialización de
los pesos de forma aleatoria. En la gráfica de la Figura 23 se muestra la evolución del
Error Cuadrático Medio (ECM) durante el entrenamiento de la RNA para cada una de
las combinaciones.
Capítulo 4. Resultados en el Área de Construcción 98

0,0100

tan - tan
tan - lin
tan - log
0,0075
log - tan
log - log
log - lin
lin - tan
ECM

0,0050
lin - lin
lin - log

0,0025

0,0000
0 500 1000 1500 2000 2500

iteraciones

Figura 23. ECM de la RNA en el entrenamiento.

Como se puede observar en la gráfica anterior, las redes con función de


transferencia lineal en la capa oculta convergen de forma prematura con valores muy
altos de ECM, mientras que las otras funciones consiguen valores de error similares en
el entrenamiento. Para escoger una combinación de funciones de transferencia para la
red es necesario no sólo ver cuales de ellas obtiene el menor error en el entrenamiento
sino cuales obtienen el menor error sobre los 31 patrones de test (determinando, de esta
forma, su capacidad de generalización). Las siguientes gráficas comparan las medidas
de rendimiento de la red (error medio y error cuadrático medio) para el conjunto de
entrenamiento y de test.

0,1
0,014
0,09 Entrenamiento
Entrenamiento
0,012 0,08 Test
Test
0,01 0,07
error medio

0,06
0,008
ECM

0,05
0,006 0,04

0,004 0,03
0,02
0,002
0,01
0 0
tan - tan tan - lin tan - log log - tan log - log log - lin lin - tan lin - lin lin - log tan - tan tan - lin tan - log log - tan log - log log - lin lin - tan lin - lin lin - log
f. de transferencia f. de transferencia

Figura 24. ECM y Error Medio para los patrones de entrenamiento y test.
Capítulo 4. Resultados en el Área de Construcción 99

Las gráficas confirman lo observado en la Figura 23: las funciones lineales en las
neuronas de la capa oculta no son útiles en este caso, mientras que el error en el
entrenamiento es prácticamente el mismo para las redes que utilizan funciones sigmoide
o hiperbólica tangente en la capa oculta. Aplicándolas a los patrones de test, las que
consiguen los niveles de error más bajo son hiperbólica tangente-sigmoide y sigmoide-
sigmoide, siendo esta última la que tiene mayor capacidad de generalización y la
recomendada para la problemática analizada.

4.5.1.2 Determinación del número de neuronas en la capa oculta.

Utilizando la mejor función de transferencia determinada en el punto anterior


(sigmoide – sigmoide), se varían el número de neuronas de la capa oculta y se ejecutan
3000 iteraciones de entrenamiento. Para cada configuración se miden los valores de
error conseguidos en el entrenamiento con respecto a los patrones de test, y al igual que
en las pruebas anteriores, cada experimento se ha repetido 10 veces para minimizar su
carácter estocástico.

0,009 0,08
0,008 0,07
0,007 0,06
0,006
Error medio

0,05 Entrenamiento
0,005 Entrenamiento
ECM

0,04 Test
0,004 Test
0,03
0,003
0,02
0,002
0,01
0,001

0 0
5 10 15 20 25 30 40 50 60 70 80 5 10 15 20 25 30 40 50 60 70 80
Nº de neuronas Nº de neuronas

Figura 25. ECM y Error Medio variando el número de neuronas.

Como se puede observar, a medida que se incrementan las neuronas de la capa


oculta, los niveles de error en el entrenamiento disminuyen, corriendo el riesgo de que
el sistema se especialice en los casos de entrenamiento, perdiendo capacidad de
generalización. Se puede observar que con 20 neuronas se obtienen los niveles de error
más bajos sobre el conjunto de patrones de test, con lo cual se puede recomendar esta
configuración al ser la que mejor extrapola frente a datos no presentados en el
entrenamiento.
Capítulo 4. Resultados en el Área de Construcción 100

4.5.2 Estudio de la tensión de trabajo de las barras.


Según se ha comprobado en las pruebas anteriores, la RNA utilizada consta de
tres capas:

1) entrada con 7 neuronas, una por variable del problema (incluida ld)

2) salida con 1 neurona (predicción de fs)

3) oculta con 20.

La función de transferencia de las neuronas de la capa oculta y de salida, según se


ha podido constatar en las pruebas anteriores, se utiliza la sigmoide por ser la que
mejores resultados permite alcanzar.

Para evitar el sobreentrenamiento, se ha probado a ejecutar el algoritmo un


número de iteraciones determinadas, para observar hasta qué generación es interesante
entrenar la RNA para conseguir una mayor capacidad de generalización. Los resultados
de esta prueba se pueden observar en la Figura 26.

0,008
Entrenamiento
0,007
Test
0,006

0,005
ECM

0,004

0,003

0,002

0,001

0
1000 2000 3000 4000 5000 6000
iteraciones

Figura 26. Evolución del ECM según iteraciones.

Como se puede observar en la Figura 26, a 5000 iteraciones el algoritmo consigue


el error más bajo sobre los datos de test, es decir, el nivel más alto de generalización,
siendo en este punto del entrenamiento cuando se comparan las respuestas que predice
la RNA sobre el conjunto de ensayos de entrenamiento y los de test (ver Figura 27). Los
resultados se muestran desnormalizados y en MPa.
Capítulo 4. Resultados en el Área de Construcción 101

Cabe resaltar que se ha establecido una penalización (como se ha explicado en el


capítulo 3) a los valores inseguros dentro del algoritmo de entrenamiento. En efecto, en
el proceso iterativo de entrenamiento, al calcular el ECM cometido por la red, se le
suma un cierto valor ponderado por el número de predicciones inseguras que produce la
RNA, y de esta manera se puede obtener una RNA que produzca ajustes con un cierto
coeficiente de seguridad.
Entrenamiento
600

500

400

300
Reales
200 Predichas
Error
100

0
0 50 100 150 200 250 300
ensayo

Test
600

500

400

300
Reales
200 Predichas
Error
100

0
0 5 10 15 ensayo 20 25 30 35

Figura 27. Tensión de trabajo de las barras real (MPa) vs predicha en entrenamiento y test.

En las figuras anteriores se puede observar que la RNA aproxima de forma muy
fiel tanto los datos del conjunto de entrenamiento como los de salida, siendo el error
siempre menor a 100 MPa. Ordenando de forma creciente todos los valores predichos
(entrenamiento + test) según la tensión real de trabajo de las barras y calculando el
coeficiente de correlación se obtiene otra perspectiva reveladora del grado de ajuste de
la red (ver Figura 28).
Capítulo 4. Resultados en el Área de Construcción 102

Correlación
600
y = 0,8952x + 38,045
500 2
R = 0,9188
400
300
200
Predicha
100
Lineal (Predicha)
0
0 100 200 300 400 500 600

Figura 28. Correlación datos predichos por RNA y reales (MPa).

Finalmente, para calcular el grado de seguridad de los valores simulados por la


RNA se utiliza una técnica que se puede denominar como “puntos de demérito”. Se
contabiliza con un punto negativo todos los valores de tensión predichos superiores a
los reales más un umbral de seguridad de 20 MPa. Este caso equivale a considerar de
forma teórica que la barra es capaz de desarrollar mayores tensiones de adherencia de
las que realmente debería para garantizar su anclaje. Aplicando esta técnica, la red
devuelve 60 de 315 predicciones supuestamente inseguras, consiguiendo de esta manera
un alto nivel de seguridad (80.95 %).

4.5.2.1 Predicción de la longitud de anclaje.

Se ha entrenado una RNA con las mismas características que la utilizada para
predecir la tensión de trabajo de las barras, pero en este caso para determinar la longitud
de anclaje de las barras de acero para una adherencia óptima entre éstas y el hormigón.
Se han realizado 10 pruebas, tomando los valores medios de estas, para disminuir la
componente aleatoria del proceso y se muestran las comparativas entre los resultados
devueltos por la red (predichos) y los reales en las siguientes gráficas, tanto para los
patrones de entrenamiento como para los de test. Los resultados se muestran
desnormalizados y en la magnitud de la longitud de anclaje (mm).
Capítulo 4. Resultados en el Área de Construcción 103

Entrenamiento
2000
1800 Reales
1600 Predichas
longitud de anclaje (mm)
1400 Error
1200
1000
800
600
400
200
0
0 50 100 150 200 250 300
ensayo

Test
1400
Reales
1200
Predichas
longitud de anclaje (mm)

1000 Error

800

600

400

200

0
0 5 10 15 20 25 30 35
ensayo

Figura 29. Comparativa de longitudes de anclaje predichas por la RNA y reales.

Correlación
1800
1600 y = 0,9557x + 20,928
R2 = 0,9655
longitud de anclaje (mm)

1400
1200
1000
800
600
400 Predichas
200 Lineal (Predichas)
0
0 500 1000 1500 2000
longitud de anclaje (m m )

Figura 30. Correlación valores de predicción de la RNA y reales.


Capítulo 4. Resultados en el Área de Construcción 104

Las salidas generadas por la red entrenada presentan un alto nivel de ajuste con
respecto a las reales, incluso para las entradas de validación (error medio de 32.74 mm).
En la Figura 30 se puede observar el excelente coeficiente de correlación (0.97) entre
las longitudes predichas y la real.

Para determinar el nivel de seguridad se utiliza la técnica de los puntos de


demérito: se considera insegura una predicción que recomiende menor longitud de
anclaje que la necesaria, al revés que en el caso de la tensión de trabajo de las barras, y
dando un margen de seguridad de 30 mm, la RNA devuelve 55 resultados
presuntamente inseguros, configurando un grado de seguridad del 82.54%.

4.5.3 Comparación con normativas y fórmulas existentes.


Un ejercicio interesante consiste en aplicar las normativas y fórmulas existentes a
los patrones de entrenamiento y test usados por la RNA, comparando los resultados
obtenidos con los valores reales obtenidos de los correspondientes ensayos. En las
gráficas de la Figura 31 (a diferencia de la Figura 29) se muestra la comparativa con la
base de datos ordenada de forma creciente por el valor real de la longitud de anclaje.

A la vista de las gráficas de la Figura 31 se puede observar que los resultados más
ajustados a los reales los consigue la RNA, siendo la norma ACI conservadora en
exceso, aunque a medida que aumenta la longitud de anclaje (uso de hormigones de
mayor resistencia) tiene dificultades para predecir valores seguros, por otra parte, la
propuesta de Zuo, a pesar de ser conservadora, cubre a la ACI a la hora de tratar
hormigones de alta resistencia, y la formulación española es más aproximada,
consiguiendo niveles de error menor que los anteriormente mencionados. Sin embargo,
el Eurocódigo 2 consigue niveles de error más bajos que las restantes fórmulas pero
incurre en numerosos fallos de seguridad.
Capítulo 4. Resultados en el Área de Construcción 105

2000
1800 Reales
1600 RNA
1400 Error

longitud (mm)
1200
1000
800
600
400
200
0
0 50 100 150 200 250 300
ensayos

2500 2500

Real Real
ACI ZUO

2000 2000
longitud de anclaje (mm)
longitud de anclaje (mm)

1500 1500

1000 1000

500 500

0 0
0 50 100 150 200 250 300 0 50 100 150 200 250 300
ensayo ensayo

2500 2500

Real Real
EHE EC2

2000 2000
longitud de anclaje (mm)

longitud de anclaje (mm)

1500 1500

1000 1000

500 500

0 0
0 50 100 150 200 250 300 0 50 100 150 200 250 300
ensayo ensayo

Figura 31. Valores reales con RNA y fórmulas ACI, ZUO, EHE y EC2.

Aplicando la técnica de puntos de demérito, y sobre un margen de seguridad de 30


mm, se obtienen los siguientes porcentajes de seguridad, que apoyan la seguridad de las
predicciones obtenidas por medio de la RNA.

Seguridad RNA ZUO ACI EHE EC2

Puntos de demérito 55 65 71 131 179

Porcentaje 82.54% 79.36% 77.46% 58.41% 43.17%

Tabla 4. Porcentajes de seguridad de las distintas formulaciones.


Capítulo 4. Resultados en el Área de Construcción 106

4.5.4 Consideraciones.
En esta tesis se ha utilizado una RNA para modelizar fenómenos específicos del
hormigón estructural. En concreto se ha modelizado el comportamiento de la tensión de
trabajo de las barras y la longitud de anclaje en el trabajo conjunto por adherencia de
ambos materiales. Estos dos parámetros son vitales a la hora de garantizar la estabilidad
y la seguridad de la estructura, puesto que fallos en los cálculos de la adherencia
podrían provocar que las barras de acero deslizaran dentro del hormigón, generando el
colapso estructural.

Las RR.NN.AA. utilizadas son de tipo feedforward, entrenadas utilizando el


sistema informático propuesto (ver capítulo 3.2) modificado para poder producir
RR.NN.AA. controlando los coeficientes de seguridad. En la literatura clásica de RNA,
éstas son buenas aproximadoras de funciones y tienen una alta capacidad de respuesta
ante entradas no vistas con anterioridad. La información para el entrenamiento y
validación de estas redes se ha extraído de una base de datos de ensayos de laboratorio
recopilados en los últimos 50 años de los que se tiene información y en los que
intervienen las principales variables del dominio del problema.

En primer lugar, ha sido necesario determinar una arquitectura de red que


garantizase un nivel de error bajo y una alta capacidad de generalización, para ello se
han realizado varios experimentos cambiando las funciones de transferencia y el
número de neuronas de la capa oculta. A partir de estas pruebas se ha optado por una
arquitectura con 7 neuronas en la capa de entrada, una capa oculta de 20 neuronas y una
neurona de salida, siendo la función de transferencia para la capa oculta y la de salida la
sigmoide.

En segundo lugar se ha entrenado la RNA para obtener la tensión de trabajo de las


barras a partir de un conjunto de variables de entrada en el que se incluye la longitud de
anclaje. Las respuestas de la red se han comparado tanto con los datos de entrenamiento
como con los de test, demostrando un alto nivel de ajuste y un nivel de seguridad alto.
Capítulo 4. Resultados en el Área de Construcción 107

En tercer lugar, la RNA se ha utilizado para predecir longitudes de anclaje de las


barras de acero dentro del hormigón, utilizando en este caso, como variable de entrada
la tensión de trabajo de las barras. Las respuestas de la red, como en el caso anterior, se
han validado con respecto a los valores reales de la base de datos, demostrando que la
RNA obtenida posee una alta capacidad de generalización, consiguiendo valores altos
de ajuste y seguridad en relación a los valores reales obtenidos del ensayo físico.

La RNA se ha comparado con las cuatro fórmulas normativas para el cálculo de la


longitud de anclaje: normativa americana ACI, normativa española EHE, eurocódigo
EC2 y formulación de Zuo. De los resultados de esta comparación se puede observar
que la RNA es la que predice valores más adecuados a la realidad y más seguros. Un
breve resumen de estos valores se puede observar en la siguiente tabla:

medidas de calidad RNA ZUO ACI EHE EC2

Error Medio (mm) 32.74 291.62 290.26 243.33 192.26

Porcentaje de seguridad 82.54% 79.36% 77.46% 58.41% 43.17%

Tabla 5. Resultados de la RNA frente a las normativas para el cálculo de la longitud de anclaje.

A la vista de los resultados, se puede concluir que la RNA es un mecanismo útil y


fiable a la hora de extraer información útil en el campo de la construcción y la
ingeniería civil. Mediante la utilización de RR.NN.AA. en problemas de regresión, se
puede generar conocimiento que facilite el cálculo de estructuras y garantice la
estabilidad de éstas, sirviendo de apoyo al ingeniero civil en la toma de decisiones para
el diseño de las estructuras. Sin embargo, no existe una formulación matemática que
permita justificar las salidas que produce la RNA, por lo que se precisan otras técnicas,
que obteniendo grados de ajuste similares, puedan producir sus resultados en forma de
expresiones o ecuaciones matemáticas.
Capítulo 4. Resultados en el Área de Construcción 108

4.6 Propuesta evolutiva: Programación Genética


Para afrontar el problema del diseño de la longitud de anclaje, se ha desarrollado
otro estudio basado en técnicas evolutivas, en concreto mediante PG. El objetivo de este
estudio, como se ha comentado anteriormente, y a diferencia de la RNA, es conseguir
una fórmula eficiente que permita predecir, inicialmente la tensión de trabajo de las
barras y posteriormente la longitud de anclaje, o bien que produzca una expresión
matemática que involucre ambos parámetros (ld y fs) y que pueda ser propuesta, incluso,
como normativa. Esta solución será validada comparándola con las fórmulas existentes
y con la RNA obtenida en el punto 4.5.

La técnica de PG ha demostrado su solvencia en el campo de la regresión


simbólica, donde para este tipo de problemas se trata de obtener una expresión
matemática que relacione un conjunto de variables de entrada con una salida
determinada. El uso de PG en ingeniería civil es muy reciente, pese a lo cual ya existen
algunos trabajos de optimización de diseño [ARCI 01] o modelado en hidrología
[DORA 02] [RABU 03]. Otras técnicas adaptativas son usadas más frecuentemente en
este campo, como las Redes de Neuronas Artificiales (RNA) [FLOO 01] o los
Algoritmos Genéticos [CVET 99].

La PG presenta dos características intrínsecas que la hacen adecuada para la


resolución del problema aquí planteado:

• Versatilidad: La PG puede desarrollar diferentes tipos de búsqueda (por


exploración y por explotación) dependiendo de la configuración de parámetros
del algoritmo, tales como el número de generaciones, el tamaño de la
población o el máximo tamaño de los árboles que conforman las soluciones.
Además, la función de ajuste, al igual que cualquier otra técnica de
computación evolutiva, puede ser fácilmente modificable.

• Comprensibilidad: la codificación en forma de árbol de las soluciones hace


que su interpretación sea asequible a gente no experta en el contexto
evolutivo. En el campo de la ingeniería civil este es un aspecto muy
Capítulo 4. Resultados en el Área de Construcción 109

importante porque los investigadores prefieren trabajar con fórmulas y normas


basadas en términos matemáticos que puedan ser fácilmente interpretables y
manipuladas usando técnicas numéricas. Este último punto muestra una
importante diferencia entre esta técnica y otras más populares como las
RR.NN.AA., pese a que estas últimas pueden obtener mejores resultados bajo
ciertas circunstancias, sin embargo, el sistema se comporta como una caja
negra, haciendo imposible la obtención de una expresión que pueda relacionar
entradas con salidas.

4.6.1 Descripción del proceso


El algoritmo de PG, en su funcionamiento, genera soluciones y las valida sobre un
conjunto de patrones, y al igual que utilizar una RNA, el conjunto de entrada es
separado en dos, usando la mayoría de los ensayos como conjunto de entrenamiento y
los restantes como validación o test, funcionando como indicadores de la capacidad de
generalización de las soluciones obtenidas mediante PG, siguiendo esta separación la
filosofía de entrenamiento de las RR.NN.AA. El algoritmo de PG producirá varias
expresiones o individuos, codificados como árboles, para determinar la tensión de
trabajo de las barras, y a diferencia de la RNA, no hace falta volver a ejecutar el
algoritmo para obtener una predicción de la longitud de anclaje, puesto que, a partir de
estas expresiones es posible modificar la fórmula para obtenerla.

En la Figura 32 se muestra el diagrama del proceso que se aplica para obtener las
expresiones matemáticas. Como se puede observar en dicho diagrama, el proceso es
similar al empleado con la RNA, se utiliza la base de datos de ensayos para aplicar un
algoritmo, que en este caso no es el entrenamiento de una RNA, es utilizar el algoritmo
de Programación Genética para obtener una función matemática que relacione las
entradas con la salida deseada (tensión de trabajo de las barras). Posteriormente, se
modificará dicha fórmula para obtener el valor de predicción de la longitud de anclaje.
Capítulo 4. Resultados en el Área de Construcción 110

Fórmula de
Tensión de la longitud
trabajo de de anclaje
las barras

Figura 32. Descripción del proceso.

4.6.2 Configuración del algoritmo de PG


Después de varias pruebas con diferentes parámetros y tipos de funciones, los
operadores que se han elegido, y que van a combinar las variables entre sí para
aproximar la expresión de ajuste son los binarios aritméticos de suma, resta,
multiplicación y división protegida (%), este último para evitar expresiones con
divisiones entre cero, y los unarios raíz cuadrada, raíz cúbica y potenciación al
cuadrado.

Se han realizado varias pruebas con diferentes configuraciones de parámetros


genéticos (ver sección 3.4.1). La configuración con la que se obtuvo mejores resultados
es la siguiente:

• Algoritmo de Selección: Ruleta


• Algoritmo de Cruce: Clásico
Capítulo 4. Resultados en el Área de Construcción 111

• Porcentaje de Mutaciones: 5 %
• Porcentaje de Cruces: 90 %
• Población: 1500 individuos
• Parsimonia: 0.01. Valor recomendado por Soule [SOUL 97]
para evitar árboles complejos.
• Penalización de seguridad: 0.5 (para obtener expresiones “seguras” intentando
que los valores a predecir sean con margen de
seguridad)

4.6.3 Resultados
Se va a aplicar el sistema de extracción de expresiones a la base de datos
utilizando dos criterios diferentes:

¾ La obtención de expresiones simples que podrían ser propuestas como una


nueva normativa. En este caso se debe limitar la máxima profundidad de
los individuos así como incrementar la penalización por profundidad y
número de operadores de los mismos.

¾ La obtención de expresiones más complejas que intenten ajustar al


máximo la capacidad de predicción. En este caso se evita, en lo posible, el
límite de altura de los árboles y la penalización por complejidad de los
mismos.

La PG es una técnica muy versátil donde cambiar un solo parámetro puede derivar
en diferentes formas de explorar el espacio de búsqueda y obtener diferentes tipos de
resultados. La aplicación del sistema de extracción, como se ha comentado
anteriormente, se hace en dos direcciones, y se han realizado tres pruebas: la primera y
segunda corresponden con la búsqueda de expresiones simples, que puedan ser
establecidas como normativas, mientras que la tercera intenta realizar una búsqueda en
profundidad, con el objetivo de obtener expresiones algo más complejas pero con un
mejor comportamiento predictivo.
Capítulo 4. Resultados en el Área de Construcción 112

4.6.3.1 Primera aproximación (GP1)

El principal objetivo de esta aproximación es obtener expresiones simples, y para


ello se establecerán los parámetros adecuados para esta circunstancia, por un lado,
limitar el nivel de profundidad de los árboles, y por otra parte limitar el número de
generaciones del algoritmo reduciendo la tasa de cruces. La configuración utilizada es la
siguiente:
- Algoritmo de selección: Ruleta.
- Tipo de cruces: 2-puntos.
- Ratio de mutaciones: 5 %.
- Ratio de cruces: 90 %
- Población: 2000 individuos
- Nivel máximo de profundidad: 6

El individuo que se ha conseguido con esta configuración puede observarse a


continuación, siendo el ajuste que produce sobre el fichero de entrenamiento de 42.581
MPa de error medio y un coeficiente de seguridad del 61.91%:

Figura 33. Árbol del mejor individuo GP1.

A partir de este árbol se puede obtener la longitud de anclaje en forma de


expresión matemática:
ld f s2
=
d b (1516 .644 + 116 .6d b + 6.6 ⋅ d b ⋅ A ) ⋅ (2714 + 81.82 ⋅ f c + 49.6 ⋅ d b ⋅ N + 0.0606 ⋅ f c ⋅ d b ⋅ A )
N es un valor geométrico, definido como: min (cs, cb, cp) - db / db ≥ 0

Ecuación 23. Mejor individuo obtenido GP1.


Capítulo 4. Resultados en el Área de Construcción 113

4.6.3.2 Segunda aproximación (GP2)

Para esta segunda prueba, además de utilizar los parámetros anteriores, se


introduce un valor de penalización por complejidad, y para obtener expresiones con un
comportamiento o coeficiente de seguridad más alto, se modifica la función de ajuste
(Fitness) introduciendo una nueva penalización a aquellas expresiones que producen
valores inseguros (tal como se ha expuesto en el capítulo 3).

La configuración del sistema para la obtención de la segunda expresión es la


siguiente:
- Algoritmo de selección: Ruleta.
- Tipo de cruces: 2-puntos.
- Ratio de mutaciones: 5 %.
- Ratio de cruces: 90 %
- Población: 1500 individuos
- Nivel máximo de profundidad: 6
- Coeficiente de parsimonia: 0.01
- Penalización de coeficiente de seguridad: 0.5

El individuo que se ha conseguido con esta configuración puede observarse a


continuación, siendo el ajuste que produce sobre el fichero de entrenamiento de 49.717
MPa de error medio y un coeficiente de seguridad del 66.35%. Esta mejora en la
seguridad es debida a la incorporación de la penalización comentada anteriormente.

Figura 34. Árbol del mejor individuo GP2.


Capítulo 4. Resultados en el Área de Construcción 114

A partir de este árbol se puede obtener la longitud de anclaje en forma de


expresión matemática:
ld 0.00461⋅ f s2
= 0.5
d b f c ⋅ [19.77 + A]0.5
Ecuación 24. Mejor individuo obtenido GP2.

Esta expresión para la predicción de la distancia de anclaje es más simple que la


primera, y en cierta manera tiene una similitud con la norma ACI.

4.6.3.3 Tercera aproximación (GP3)

En la tercera aproximación se pretende buscar la máxima capacidad de ajuste,


reduciendo las penalizaciones por complejidad del sistema, pero manteniendo la
penalización por coeficiente de seguridad.

En la Figura 35 se muestra el mejor individuo obtenido mediante el algoritmo PG,


los valores de ajuste (Error Medio) obtenidos han sido 37.2 MPa en el conjunto de
ensayos de entrenamiento, y 38.1 MPa sobre los patrones del conjunto de test. Para esta
solución se han necesitado 4000 generaciones y el coeficiente de seguridad también
mejora, alcanzando un 73.72% de valores seguros.

Como se puede observar, se ha aumentado el nivel de ajuste de la fórmula, pero a


su vez, esta se hace más compleja y más complicada de interpretar. Si se modifican los
parámetros del algoritmo, se puede seguir incrementando el ajuste que producen las
fórmulas obtenidas, pero, a su vez, se incrementa la complejidad de las mismas,
haciendo prácticamente imposible su interpretación y su conversión para obtener la
longitud de anclaje, siendo en este caso, necesario el volver a ejecutar el algoritmo, pero
en este caso, modificando los ficheros de entrenamiento para obtener una expresión
matemática que produzca la predicción de longitud de anclaje. El ajuste que se puede
alcanzar puede aproximarse a los valores obtenidos de la RNA, pero se produce el
mismo efecto que con ella, el obtener un sistema de predicción que funciona como una
caja negra.
Capítulo 4. Resultados en el Área de Construcción 115

Subtree 1:

Subtree 2:

Figura 35. Árbol del mejor individuo GP3.

A partir de este árbol se puede obtener la tensión de trabajo de las barras en forma
de expresión matemática:

f s = 3 Expresión(1) * Expresión(2)

⎛ 0.113 ⎞ ⎛ cs ⎞ ⎛ ld ⎞
Expresión(1) = ⎜ + 0.588 * A ⎟ * ⎜ 0.21 + ⎟ + ⎜ 0.193 + A * ⎟
⎝ db ⎠ ⎝ db ⎠ ⎝ db ⎠
( fc * ld ) * (l d + cp + ( fc * cs ))
Expresión(2) = 2
(d b * 0.588)
Ecuación 25. Mejor individuo obtenido GP3.
Capítulo 4. Resultados en el Área de Construcción 116

A continuación se muestran algunas medidas de la bondad de ajuste y una gráfica


en la que se comparan los valores predichos por la fórmula genética con respecto a los
valores reales, medidos en los ensayos de laboratorio. Los resultados obtenidos están
desnormalizados, midiéndose en MegaPascales (MPa), unidad de tensión de trabajo de
las barras (fs).
fs (MPa) Entrenamiento Test
Error Medio 37.2 38.1
Error Cuadrático Medio 2.82 8.34

Tabla 6. Medidas de ajuste desnormalizadas.

600 Tensión Predicha - Tensión Real

500

400

300

200
y = 0,7617x + 84,25
100 R2 = 0,7363

0
0 100 200 300 400 500 600

Figura 36. Predicción de la expresión obtenida y valores reales (MPa).

De los valores de ajuste y error obtenidos y de la gráfica, se puede concluir que la


fórmula obtenida mediante PG para determinar la tensión de trabajo de las barras es
altamente predictiva del comportamiento de los anclajes presentados en los diferentes
ensayos.

Los valores de ajuste son altos, obteniendo bajos niveles de error con respecto a
los valores obtenidos en ensayos de laboratorio. Cabe destacar el hecho de que los
niveles de ajuste son similares tanto para los patrones ya conocidos por el algoritmo
(entrenamiento) y los de test, lo que indica que la fórmula obtenida tiene un alto
comportamiento de generalización.
Capítulo 4. Resultados en el Área de Construcción 117

4.6.3.4 Comparativa entre las tres aproximaciones

Como se puede observar en los puntos precedentes, las tres soluciones son
capaces de predecir la tensión de trabajo de las barras de forma satisfactoria. La
siguiente tabla muestra la comparativa entre ellas.
Expresión GP1 GP2 GP3
fs (MPa) Entrenamiento Test Entrenamiento Test Entrenamiento Test
Error Medio 42.581 40.288 49.717 44.982 37.202 38.109
Error Cuadrático Medio 3.186 9.089 3.657 11.130 2.820 8.391
Puntos de demérito 120 106 84
Coeficiente de seguridad 61.91% 66.35% 73.72%

Tabla 7. Comparativa entre las tres expresiones (tensión de adherencia)

Las siguientes gráficas muestran de forma visual la comparativa entre las tres
expresiones, mostrando para cada una de ellas el ajuste sobre los valores reales de
tensión de trabajo de las barras.

Figura 37. Predicción de la expresión obtenida GP1 y valores reales (MPa) de entrenamiento.
Capítulo 4. Resultados en el Área de Construcción 118

Figura 38. Predicción de la expresión obtenida GP2 y valores reales (MPa) de entrenamiento.

Figura 39. Predicción de la expresión obtenida GP3 y valores reales (MPa) de entrenamiento.

Las siguientes gráficas muestran la comparativa entre las tres expresiones en


cuanto a los datos de validación, comparando la capacidad predictiva que cada una de
ellas posee.
Capítulo 4. Resultados en el Área de Construcción 119

Adherencia (MPa)
600

500

400
Real
300
GP1
200 Error

100

0
0 5 10 15 20 25 30 35
Número de Ensayo

Figura 40. Predicción de la expresión obtenida GP1 y valores reales (MPa) de test.

Adherencia (MPa)
600

500

400

300 Real
GP2
200
Error

100

0
0 5 10 15 20 25 30 35
Número de Ensayo

Figura 41. Predicción de la expresión obtenida GP2 y valores reales (MPa) de test.

Adherencia (MPa)
600

500

400

300 Real
GP3
200 Error

100

0
0 5 10 15 20 25 30 35
Número de Ensayo

Figura 42. Predicción de la expresión obtenida GP3 y valores reales (MPa) de test.
Capítulo 4. Resultados en el Área de Construcción 120

En estas gráficas se puede apreciar que las expresiones producidas por el


algoritmo de PG simula con buena precisión el comportamiento de los anclajes en
relación con la tensión de trabajo de las barras, así como una buena predicción de
valores seguros.

4.6.3.5 Comparación de la longitud de anclaje

A partir de la expresión genética de la tensión de trabajo de las barras se obtiene


una fórmula genética para determinar la longitud de anclaje, a la que se ha denominado
GP3, y que a partir de ahora se puede utilizar como representativa de mejor ajuste de las
tres obtenidas. La longitud de anclaje, tal como se ha indicado anteriormente, es una
medida de gran importancia para la definición de la adherencia. La Tabla 8 muestra la
comparativa de ajustes en cuanto a la longitud de anclaje, y en las siguientes figuras se
pueden observar los ajustes producidos por las tres expresiones.

Longitud de Anclaje (mm) GP1 GP2 GP3


Error Medio 242.10 233.44 203.86
Error Cuadrático Medio 19.91 18.15 15.15
Puntos de demérito 112 95 120
Coeficiente de seguridad 64.45% 69.84% 62.14%

Tabla 8. Comparativa entre las tres expresiones (longitud de anclaje)

Longitud de Anclaje (mm)


2500

Real
2000 GP1
Error

1500

1000

500

0
0 50 100 150 200 250 300
Número de Ensayo

Figura 43. Predicción de la expresión obtenida GP1 y valores reales (entrenamiento + test).
Capítulo 4. Resultados en el Área de Construcción 121

Longitud de Anclaje (mm)


2500

Real
2000 GP2
Error

1500

1000

500

0
0 50 100 150 200 250 300
Número de Ensayo

Figura 44. Predicción de la expresión obtenida GP2 y valores reales (entrenamiento + test).

Longitud de Anclaje (mm)


2500

Real
2000 GP3
Error

1500

1000

500

0
0 50 100 150 200 250 300
Número de Ensayo

Figura 45. Predicción de la expresión obtenida GP3 y valores reales (entrenamiento + test).

Al disponer de un banco de datos de ensayos extenso, se puede comparar la solución


obtenida (GP3) con respecto a las tres normativas estándar (ACI, EHE y EC2) y la
formulación de Zuo.

Las gráficas de la Figura 46 y Figura 47 muestran las predicciones de longitud de


anclaje en milímetros, obtenidos para cada uno de los 315 ensayos de la base de datos
Capítulo 4. Resultados en el Área de Construcción 122

(284 de entrenamiento más 31 de test). Los valores se han ordenado de forma


ascendente según los valores de la longitud de anclaje que posee el ensayo.

2500

Real
GP3
2000
longitud de anclaje (mm)

1500

1000

500

0
0 50 100 150 200 250 300
ensayo

Figura 46. Longitud de anclaje que predice GP3 y longitud real.

2500 2500

Real Real
ACI ZUO

2000 2000
longitud de anclaje (mm)
longitud de anclaje (mm)

1500 1500

1000 1000

500 500

0 0
0 50 100 150 200 250 300 0 50 100 150 200 250 300
ensayo ensayo

2500 2500

Real Real
EHE EC2

2000 2000
longitud de anclaje (mm)

longitud de anclaje (mm)

1500 1500

1000 1000

500 500

0 0
0 50 100 150 200 250 300 0 50 100 150 200 250 300
ensayo ensayo

Figura 47. Longitud de anclaje que predicen las formulaciones de ACI, Zuo, EHE y EC2.
Capítulo 4. Resultados en el Área de Construcción 123

Longitud (mm) EM ECM % Seguridad


GP3 203.09 15.15 62.10
Americana ACI 290.26 20.73 77.46
EuroCódigo EC2 198.26 14.79 43.17
Española EHE 243.33 20.15 58.41
Fórmula Zuo 291.62 23.03 79.36

Tabla 9. Comparativas entre las predicciones de longitud de anclaje (mm).

A partir de estas gráficas y comparativas se pueden deducir una serie de


conclusiones de los experimentos realizados: la fórmula genética para determinar la
longitud de anclaje tiene niveles de error sensiblemente inferiores al resto de fórmulas
normativas, excepto si se compara con la normativa europea EC2, con niveles de error
muy parejos.

Aparte de este hecho, los niveles de seguridad son altos, al estar la mayoría de las
predicciones realizadas por encima de los valores reales, siendo este un punto positivo
con respecto a la norma europea, ya que, tal como se puede apreciar en la gráfica de la
fórmula EC2, la mayoría de las predicciones son inseguras, con valores inferiores a los
reales.

4.6.4 Consideraciones
Partiendo de un conjunto de ensayos extenso, se ha obtenido una expresión que
predice a un nivel alto el comportamiento de la adherencia hormigón-acero en el
hormigón estructural. Al utilizar PG, debido a la codificación en árbol de los individuos,
la expresión se puede manipular para obtener una fórmula relacionando la tensión de
trabajo de las barras y la longitud de anclaje, susceptible de compararse con las
normativas nacionales e internacionales existentes.

Tal como se ha indicado, a partir de esta expresión, se puede obtener una fórmula
para determinar la longitud de anclaje, problema que en la actualidad es difícilmente
abordable debido a que influyen muchas variables distintas. La fórmula obtenida
Capítulo 4. Resultados en el Área de Construcción 124

mediante el proceso evolutivo está validada en cuanto a su capacidad predictiva del


comportamiento de adherencia en distintos ensayos con hormigones de capacidades
distintas y presenta una alternativa a las formulaciones normativas existentes de la
longitud de anclaje. Como se ha observado, estas normativas no están de acuerdo en los
parámetros utilizados, provocando disparidad en los tratamientos.

La fórmula inducida se ha comparado con estas otras normativas sobre una base
de datos experimental, en la que se cuenta con ensayos sobre hormigones de alta
resistencia. De estas comparativas se deduce que la expresión genética es la que un
mejor comportamiento.

Además, la expresión obtenida, desde el punto de vista normativo, se ajusta a las


características de las demás normas utilizadas actualmente, porque involucra todas las
variables utilizadas en ellas, incluyendo las mismas pautas de adimensionalidad en las
operaciones aritméticas involucradas. A su vez proporciona un buen grado de seguridad
62.1% en las predicciones realizadas, aspecto muy importante para el ingeniero
encargado del diseño de las estructuras, aunque, para ser afrontado como normativa
final, la expresión es algo compleja y, en ciertos aspectos, poco comprensible desde el
punto de vista de ingeniería, por lo que es necesario seguir mejorando los parámetros
del algoritmo para alcanzar una expresión más sencilla, pero con el mismo
comportamiento que la obtenida.

4.7 Otras técnicas de extracción de conocimiento


Las expresiones obtenidas mediante PG alcanzan buenos resultados de predicción,
como se ha podido observar en el punto previo, sin embargo, existen otras técnicas que
pueden ser aplicables en este tipo de problemas, obtenidas del área de aprendizaje
máquina. Estas técnicas están pensadas para tareas de extracción de conocimiento (Data
Mining) en grandes bases de datos, por lo que son algoritmos que buscan rapidez en
lugar de capacidad de ajuste, sin embargo es interesante observar la capacidad de
resolución que poseen para el problema aquí presentado.
Capítulo 4. Resultados en el Área de Construcción 125

Al problema, por naturaleza, corresponde aplicarle técnicas que se basen en


regresión simbólica, es decir, mediante un conjunto de variables de entrada es necesario
predecir la salida que tendrá otra variable diferente, siendo para ello necesario usar una
serie datos obtenida de la experimentación y utilizar esos valores reales de las variables
del ensayo como entradas para poder predecir las salidas. En una situación muy simple,
la regresión puede realizarse mediante técnicas clásicas de matemáticas, como por
ejemplo la regresión lineal, desafortunadamente, en muchos problemas de la vida real, y
concretamente en este caso, las salidas dependen de complejos procesos de variables
independientes, luego es necesario utilizar técnicas más complejas, como las
RR.NN.AA. y la PG, como se ha visto en los apartados previos, y otras técnicas basadas
en aprendizaje máquina, como las que se muestran a continuación.

Para la aplicación de estas técnicas se utiliza el entorno de prueba denominado


Weka [WITT 00]. Algunas técnicas como Naïve Bayes o la regresión logística no
pueden ser aplicadas utilizando este software porque están pensadas para trabajar con
variables discretas o no continuas, como en el caso de este problema. A continuación se
exponen las referencias de las técnicas aplicadas para la solución del problema:

¾ Funciones de regresión: Simple Linear Regression with nearest-


neighbour classifier [AHA 91], Least squared regression [ROUS 87],
Linear regression M5 (variante del C4.5 [QUIN 93]), Pace regression
[WANG 02], SMOreg [SMOL 98].

¾ Clasificadores: Lazy K* [CLEA 95], LWL [ATKE 96] [FRAN 03]

¾ Árboles de decisión: Bagging Predictors [BREI 96], M5P [HOLT 93],


REPTree [WITT 00].

¾ Reglas: Conjunctive Rule, Decision Table [KOHA 95], M5Rules [MAY


99], ZeroR [WITT 00].
Capítulo 4. Resultados en el Área de Construcción 126

Modelo EM ECM
RNA 28.405 2.141
GP3 37.202 2.820
K* 40.193 3.212
M5Rules 40.532 2.948
GP1 42.581 3.186
Bagging 44.882 3.439
Decision Tables 46.636 3.723
IB1 47.619 3.972
Pace Regression 48.630 3.546
GP2 49.717 3.657
LMSQ 49.900 3.693
Linear Regression M5 50.648 3.602
SMO Reg 50.707 3.625
RepTree 52.705 4.097
M5P 56.697 4.294
LWL Decission Stump 58.087 4.452
Simple Linear Regression 71.097 5.119
Conjunctive 71.430 5.342
RBF 74.094 5.314
ZeroR 76.325 5.485

Tabla 10. Comparativas entre diferentes técnicas de aprendizaje (longitud de anclaje).

En cuanto a las técnicas empleadas para obtener esta tabla comparativa (Tabla
10), cabe resaltar que ninguna de ellas (excepto las desarrolladas en esta tesis – RNA,
GP1, GP2 y GP3) controlan el coeficiente de seguridad de los resultados producidos,
siendo en todos ellos cercano al 50%.

Cabe resaltar, además, que muchas de estas técnicas se comportarían, al igual que
la RNA, como un sistema de caja negra, no aportando al usuario final ninguna
información adicional ni posibilidad de manipulación alguna sobre la técnica empleada.
Capítulo 4. Resultados en el Área de Construcción 127

4.8 Comparativa entre las técnicas propuestas


Tras los resultados presentados en los apartados anteriores resulta interesante
realizar la comparación entre las dos técnicas empleadas (conexionista y evolutiva), en
la Tabla 11 se puede observar que la fórmula genética para determinar la longitud de
anclaje tiene niveles de error sensiblemente inferiores al resto de normativas, excepto si
se compara con la normativa europea EC2, con niveles de error muy parejos, en cambio
el método mediante RNA obtiene un error medio mucho menor que todas ellas, de lo
que se deduce que es la mejor aproximación obtenida. Aparte de este hecho, los niveles
de seguridad son altos, al estar la mayoría de las predicciones realizadas por encima de
los valores reales. Este es un punto positivo con respecto a la norma europea, ya que, tal
como se puede apreciar en la Figura 50, en la fórmula EC2 la mayoría de las
predicciones son inseguras, con valores inferiores a los reales, y como en el caso
anterior, el coeficiente de seguridad que se ha obtenido de la RNA es superior a los
demás métodos.

Ajuste (mm) RNA PG ZUO EHE EC2 ACI


Error Medio (mm) 32.74 203.09 291.62 243.33 198.26 290.26
Error Cuadrático Medio (mm) 3.18 15.15 23.03 20.15 14.79 20.73
Puntos de Demérito 55 120 65 132 179 71
Nivel de Seguridad (%) 82.5% 62.1% 79.3% 58.4% 43.2% 77.4%

Tabla 11. Comparación entre las dos propuestas con las normativas existentes.

2500
2000
Real
1800 Real
Longitude de anclaje (mm)

PG

1600 RNA 2000

1400 Error
longitud de anclaje (mm)

1200 1500
1000
800
1000
600
400
200 500

0
0 50 100 150 200 250 300
0
ensayo
0 50 100 150 200 250 300

Figura 48. Comparación entre las dos propuestas.


Capítulo 4. Resultados en el Área de Construcción 128

2000 y = 0.5838x + 320.91


Correlación
1800 1800 R2 = 0.239
1600 y = 0,9557x + 20,928
1600
R2 = 0,9655
longitud de anclaje (mm)

1400 1400
1200
1200
1000
1000
800
800
600
400 Predichas 600

200 Lineal (Predichas) 400


PG
0 200
Correlación
0 500 1000 1500 2000 0
longitud de anclaje (m m ) 0 200 400 600 800 1000 1200 1400 1600 1800 2000

Figura 49. Correlación (RNA y PG)

2000 2000
y = 0.2912x + 548.1 y = 0.6927x + 364.49
1800 R2 = 0.0876 1800 R2 = 0.231
1600 1600

1400 1400
1200 1200
1000 1000

800 800
600 600
400 400
ACI ZUO
200 200
Correlación Correlación
0 0
0 200 400 600 800 1000 1200 1400 1600 1800 2000 0 200 400 600 800 1000 1200 1400 1600 1800 2000

2000 2000
y = 0.6548x + 246.22 y = 0.3576x + 241.06
1800 R 2 = 0.2162 1800 R2 = 0.2372
1600 1600
1400 1400
1200 1200
1000 1000
800 800
600 600
400 400
EHE EC2
200 Correlación 200
Correlación
0 0
0 200 400 600 800 1000 1200 1400 1600 1800 2000 0 200 400 600 800 1000 1200 1400 1600 1800 2000

Figura 50. Correlación (normativas)

En las figuras anteriores se muestra la correlación entre la salida que se obtiene de


los diferentes métodos y la salida real, como se puede observar la que presenta el mejor
resultado es la ya comentada solución mediante RNA.

Uno de los inconvenientes de la solución de RNA es el que las redes se comportan


como una caja negra, en cambio la solución de PG, aunque peor comparada con RNA,
presenta una fórmula, es decir, se pueden interpretar los resultados que produce.

Los ingenieros, cuando deciden aplicar la norma (EC2 por ejemplo) suelen
multiplicar el valor obtenido por un factor mayor que uno que representa el coeficiente
Capítulo 4. Resultados en el Área de Construcción 129

de seguridad que se le desea dar a la estructura, normalmente un valor de 1.5, lo cual


incrementaría notablemente el error obtenido. En la expresión genética obtenida, el
62.1% de las predicciones están por encima del valor real, por lo que son seguros,
mientras que en la norma EC2, sólo el 43.2% son valores seguros.
Capítulo 4. Resultados en el Área de Construcción 130
“El agua es para
los patos”

Dicho popular

CAPÍTULO
5 RESULTADOS EN EL ÁREA DE HIDROLOGÍA

5.1 Introducción
La hidrología es la ciencia que estudia el ciclo hidrológico en su conjunto y la
disponibilidad y distribución del agua sobre la Tierra, siendo, en la actualidad una parte
fundamental de los proyectos de ingeniería en suministro de agua, drenaje, protección
contra la acción de ríos, etc. El conocimiento del comportamiento hidrológico de un río,
arroyo o lago es fundamental para poder establecer áreas vulnerables a posibles eventos.
Se puede definir una cuenca fluvial como un área drenada por ríos y afluentes, y la
escorrentía es la cantidad de lluvia que discurre por la superficie del terreno hasta
alcanzar dichos ríos o afluentes. Sin, embargo, la hidrología no sólo abarca las cuencas
fluviales, también las denominadas cuencas urbanas, donde los arroyos y los ríos son
reemplazados por un sistema de alcantarillado y saneamiento. Una cuenca urbana, a
diferencia de la rural, puede estar influenciada por los patrones de consumo de agua de
los habitantes de la ciudad.
Capítulo 5. Resultados en el Área de Hidrología 132

Los sistemas de drenaje de aguas pluviales tienen como misión, única o


complementaria, la evacuación del agua de lluvia de la superficie de las calles y tejados.
La principal característica diferencial del drenaje en zonas urbanas respecto del drenaje
de cuencas naturales es el hecho de que una unidad (mm) de lluvia genera un volumen
de escorrentía muy superior en zona urbana al que generaría en zona rural, y de un
modo más rápido.

Los elementos básicos que se pueden identificar en una cuenca urbana son:
cuenca de aportación, redes de alcantarillado (pluvial o residual), estación de
depuración de aguas residuales (EDAR) y masas de agua receptoras.

Los dos tipos de redes de alcantarillado más habituales que se encuentran en los
sistemas de saneamiento son las unitarias y las separativas. Una red de alcantarillado
unitaria transporta aguas residuales en tiempo seco, y aguas residuales y pluviales
mezcladas en tiempo de lluvia; mientras que una red de alcantarillado separativa tiene
conducciones independientes para las aguas residuales y para las aguas pluviales.

En redes unitarias las interacciones entre los principales componentes del sistema
son más importantes que en los sistemas separativos. En tiempo de lluvia las redes
unitarias deben transportar, además de las aguas residuales de tiempo seco las aguas de
escorrentía superficial.

En el caso en que existan grandes variaciones de caudales en tiempo de lluvia


respecto a tiempo seco se debe tener especial cuidado en el diseño de los conductos para
que se cumplan ciertos criterios de funcionamiento hidráulico. Cuanto mayor es el
caudal de cálculo adoptado mayor será el coste de las infraestructuras de saneamiento
pero se provocarán menos inundaciones por insuficiencia en las conducciones y, en
consecuencia, menos perjuicios económicos y sociales.

Todo proyecto de ingeniería asume un cierto nivel de riesgo. No se construyen


edificios que soporten una carga infinita, ni puentes que soporten una sobre elevación
infinita del nivel del río que salvan, ni presas que desagüen una avenida infinita. El
concepto de riesgo asumible está presente en todos los proyectos, y el nivel de riesgo
Capítulo 5. Resultados en el Área de Hidrología 133

debe tener una proporción con el nivel de daños que genera el fallo. No se puede valorar
de igual manera el riesgo de que un puente se vea anegado por una avenida, con un
riesgo alto de colapso de la estructura, que el riesgo de que un colector no tenga
capacidad, en cuyo caso el agua drenará parcialmente por superficie. Esta disfunción,
sin ser deseable, tiene en general unos efectos menores que otras, como las citadas,
cuyos efectos son catastróficos.

La precipitación es la variable de diseño por excelencia. Escogida una


precipitación de proyecto, el resto de variables se pueden obtener a partir de diversos
métodos de cálculo. No es trivial, sin embargo, definir el valor de la precipitación de
proyecto, ya que aparece, por un lado, la necesidad de tomar decisiones en cuanto al
nivel de riesgo asumible y, por otro, la incertidumbre en el manejo de unos datos que en
general adolecen de una falta de calidad que hacen que los cálculos tengan un alto grado
de imprecisión.

Para poder realizar el análisis de funcionamiento de una cuenca y su posterior


modelización, un punto de partida es el análisis de la precipitación que tiene dicha
cuenca, y para ello, resulta de mucha utilidad la obtención de datos reales obtenidos de
mediciones de diferentes eventos de lluvia mediante estaciones pluviométricas. Para un
correcto análisis de la precipitación se deben sistematizar los datos recogidos en las
diferentes estaciones pluviométricas situadas en la zona objeto de estudio o en sus
inmediaciones. Idealmente, la red pluviométrica debería ofrecer datos con una densidad
espacial suficiente, y con una historia prolongada, que permitiese realizar análisis
fiables.

Como se ha comentado anteriormente, una cuenca rural es diferente a una cuenca


urbana, los arroyos y los ríos son reemplazados por un sistema de alcantarillado y
saneamiento. En una cuenca rural no toda la lluvia genera escorrentía, sólo una pequeña
fracción, debido a que existen varias fuentes de pérdidas como la evapo-transpiración,
la interceptación por la vegetación o por la infiltración. En una cuenca urbana, sin
embargo, estas causas de pérdidas no son tan relevantes, puesto que el nivel de
vegetación es mucho menor y la superficie es mucho más impermeable. Por
Capítulo 5. Resultados en el Área de Hidrología 134

consiguiente la escorrentía generada será mucho más dependiente de la lluvia y la


modelización de dicha relación se centrará en las redes de alcantarillado y saneamiento.
Uno de los principales objetivos de realizar dicha modelización es el predecir las
condiciones de riesgo por lluvia de la cuenca y, por ejemplo, hacer sonar una alarma
para avisar de posibles inundaciones.

Debido a que uno de los objetivos de los ingenieros es diseñar y construir un


sistema completamente autónomo y autoadaptativo que sea capaz de realizar
predicciones en tiempo real de los cambios de nivel del agua para poder alertar a las
autoridades de posibles condiciones de riesgo por inundaciones con antelación
suficiente, en la presente tesis se presenta un sistema modelado aplicando
conjuntamente dos técnicas de Inteligencia Artificial: Redes de Neuronas Artificiales y
Programación Genética. Mostrando cómo estas dos técnicas pueden funcionar
conjuntamente para solucionar el problema, y de mejor forma que ambas por separado y
que las técnicas clásicas de la hidrología.

5.2 Transformación lluvia-escorrentía


Una vez se puede definir la lluvia neta como la diferencia entre la precipitación
registrada y las pérdidas (que en el caso de una cuenca urbana son mínimas, como se ha
comentado anteriormente) debe analizarse el proceso mediante el cual la lluvia se
concentra y genera escorrentía en las superficies.

Tradicionalmente, los sistemas de saneamiento se han calculado como redes de


canales, cuyo parámetro de diseño es el caudal máximo que tienen que soportar. Desde
ese punto de vista, basta obtener el dato del caudal máximo, independientemente de
durante cuanto tiempo se prolongue o de cuál sea el volumen total desaguado.

Los sistemas actuales de saneamiento cuentan con elementos (depósitos) en los


que el volumen es la variable de diseño, y el tiempo que tardan en llenarse, o con el
grado de llenado que adquieren, son variables relevantes. Desde este punto de vista, el
cálculo de la escorrentía debe ofrecer no sólo el caudal máximo, sino la curva que
ofrece la evolución del caudal a lo largo del tiempo, conocida como “hidrograma”.
Capítulo 5. Resultados en el Área de Hidrología 135

Hay métodos de cálculo de la transformación de lluvia en escorrentía que sólo


buscan el caudal máximo. Un claro exponente de estos métodos es el conocido como
“método racional”, el cuál plantea una relación lineal entre el caudal pico, el área de la
cuenca, un coeficiente que incluye las pérdidas, y la intensidad de la precipitación
correspondiente a un tiempo igual al tiempo de concentración. En otros casos, lo que se
persigue es la determinación del hidrograma. Destacan dos familias de métodos: los
basados en la determinación de una función de transferencia que transforma lluvia en
caudal y que se conoce como “hidrograma unitario”, y aquellos basados en la aplicación
de las ecuaciones del flujo en lámina libre conocidos como “métodos hidráulicos”

5.2.1 Hidrogramas unitarios


Un hidrograma unitario representa la escorrentía producida por un milímetro de
agua de lluvia caída a un ratio constante de duración “D” distribuida uniformemente
sobre la cuenca. El método del hidrograma unitario se usa con más frecuencia en las
cuencas rurales que en las cuencas urbanas. Wisler et al [WISL 59] lo definen como “el
hidrograma de la escorrentía superficial resultante de una relativamente corta caída de
intensa lluvia, llamada tormenta unitaria”. Referencias a este método se encuentran con
suma facilidad, y los paquetes de software comercial generalmente incluyen estos
métodos. El hidrograma unitario tiene un limitado número de parámetros (entre 1 y no
más de 3 ó 4) los cuales abarcan información hidráulica e hidrológica de la cuenca.

Se puede entender el concepto de hidrograma unitario como una función de


transferencia que permite pasar de una unidad de lluvia neta a su correspondiente
escorrentía y que tiene las propiedades de linealidad en la respuesta y la superposición
aditiva.
Capítulo 5. Resultados en el Área de Hidrología 136

CAUDAL

TIEMPO
Figura 51. Hidrograma Unitario.

Como se ha comentado anteriormente, los métodos basados en el hidrograma


unitario se usan con más frecuencia en las cuencas rurales y menos en las cuencas
urbanas; sin embargo, se encuentran referencias a este método habitualmente en la
bibliografía, y los modelos de cálculo comerciales incluyen un módulo basado en los
hidrogramas unitarios. Por ejemplo, el software HydroWorks [HYDR 07] incluye el HU
de Nash, y sus parámetros han sido adaptados para trabajar en áreas urbanas.

La parte crítica de estos modelos es el hecho de separar qué es virtual y qué es


real. El hidrograma unitario propuesto por Nash [HYDR 95], que puede ser expresado
como la Ecuación 26, está conceptualmente basada en el comportamiento de una serie
de tanques en cascada, pero aceptar un número de tanques como parámetro (n) que no
existen en la realidad, indica que esta representación conceptual se traduce en una
formulación matemática que está más orientada hacia el concepto de flexibilidad que al
de reproducir un fenómeno físico.
n−1
1 ⎛ t ⎞
h(t ) = e −t Kn ⎜⎜ ⎟⎟
K n Γ(n ) ⎝ Kn ⎠

Ecuación 26. Ecuación del hidrograma unitario.


Capítulo 5. Resultados en el Área de Hidrología 137

Muchos hidrogramas unitarios prácticamente coinciden en las funciones de


distribución probabilísticas. Nash HU, por ejemplo, está claramente relacionada con la
distribución probabilística Gamma, que es bi-paramétrica.

La estimación de los parámetros (Kn por ejemplo) es compleja y sujeta a una gran
incertidumbre. Quizás la intención de dar un sentido físico a los parámetros no está en
la naturaleza de los hidrogramas unitarios, aunque para evaluarlos sea de verdad
necesario tener en cuenta las variables geométricas e hidráulicas. No es extraño que un
parámetro de un hidrograma unitario necesite una lista de variables físicas complicadas,
obtenidas por medio de una serie de experimentos o mediciones en campo (como
ejemplo se pueden citar los modelos implementados en Hydroworks (2005) [INFO 07],
el modelo para la constante de tiempo Kn del HU de Nash, o los métodos incluidos en
Viessman et al. [VIES 89]). El parámetro obtenido no tiene un sentido físico concreto, y
la relación obtenida, que no viene de un análisis dimensional, no es nada más que el
mejor ajuste a un problema que no parece tener una única solución aplicable a cualquier
cuenca, debido al número de variables en juego.

5.2.2 Métodos hidráulicos


A diferencia de los modelos basados en el hidrograma unitario, los modelos
basados en las ecuaciones hidráulicas intentan modelizar los procesos hidráulicos que se
producen en la cuenca. Estos modelos son usados con frecuencia y se basan en las
ecuaciones de Saint-Vennant [HUBE 92].

En este tipo de modelos, la cuenca es idealizada en una serie de “canales” que


representan los tejados, las calles, las conexiones entre ellas, etc. con un conocido
sentido físico.

La modelización con las ecuaciones de Saint-Vennant para obtener el cálculo de


caudales producidos por los eventos de lluvia requiere un gran conocimiento de la red
de saneamiento, así como las estructuras de entrada a la red, la topografía urbana, etc. Si
se intenta estructurar una cuenca en elementos que tienen características hidráulicas
Capítulo 5. Resultados en el Área de Hidrología 138

homogéneas, el proceso de discretización resulta en la definición de un elevado número


de pequeños elementos cuyas características deben ser definidas individualmente.

Aunque estos son los modelos más comúnmente usados y que están basados en
las ecuaciones de Saint-Vennant o en algunas versiones simplificadas de ellas, entre las
que destacan la aplicación de las ecuaciones de la onda cinemática o formulaciones de
carácter similar (como las usadas en el módulo RUNOFF del modelo SWMM [HUBE
92], que se usa frecuentemente, tanto a nivel nacional como internacional).

En este tipo de modelos, la cuenca es idealizada en una serie de “superficies” y


“canales” que representan los tejados y las secciones de las calles, y las conexiones
entre las tuberías (alcantarillado) y los canales, teniendo, cada uno, sus propias
características hidrológicas e hidráulicas (coeficientes de rozamiento, etc.), con un
conocido sentido físico. Estos parámetros hidráulicos, con la geometría ideal, componen
una red de canales que son analizados mediante las ecuaciones comentadas
anteriormente.

Un modelo de transformación lluvia-escorrentía une la escorrentía a la red de


drenaje y alcantarillado usando ecuaciones de Saint-Vennant (o alguna simplificación
de las mismas, aunque en este caso, generalmente se utilizan las ecuaciones completas).
De hecho, desde este punto de vista, conceptualmente no hay ninguna diferencia entre
un fenómeno y el otro. El cálculo del tránsito de los hidrogramas obtenidos a lo largo de
las entradas en la red de alcantarillado requiere un cierto conocimiento de su geometría,
características hidráulicas (coeficientes de fricción) y la existencia de puntos específicos
de entrada y salida (imbornales, desagües, obstáculos, etc.).

De esta forma, al realizar una modelización con las ecuaciones de Saint-Vennant,


el cálculo de caudal generado por los eventos de lluvia requiere un buen conocimiento
de la red de alcantarillado así como las características de las entradas a la red, la
topología urbana, etc. Si se intenta estructurar una cuenca en elementos que tienen
características hidráulicas homogéneas, el proceso de discretización conduce a una
estricta definición de un infinito número de pequeños elementos cuyas características
Capítulo 5. Resultados en el Área de Hidrología 139

deben definirse individualmente. Atendiendo a criterios económicos, es muy


complicado, por no decir casi imposible, emprender esta tarea. Por lo general, se define
un número razonable de sub-cuencas, cada una de las cuales debería incluir información
de varios procesos.

5.2.2.1 Sentido físico de los parámetros en las ecuaciones hidráulicas

El proceso de modelización requiere discretización y también simplificación, y los


parámetros que tiene, de forma estricta, necesitan una clara asignación de valores (por
ejemplo el coeficiente de rugosidad de las tuberías o conductos, la pendiente, longitud y
diámetro de los mismos, etc). Este proceso involucra y abarca todos los efectos
similares (pérdidas en los imbornales, tiempo de retención en la entrada, etc.). Si se
acepta esta simplificación, también se debe aceptar el hecho de que los parámetros con
los que se trabaja, que son la síntesis de un infinito número de procesos reales
involucrados, no son representativos del fenómeno específico, pero da una idea general
del fenómeno entero. Por lo tanto, sus valores no pueden, o al menos no deberían ser lo
que se esperaría si realmente se pudiera separar su efecto.

El modelizado de una red de alcantarillado y drenaje, incluyendo la escorrentía


superficial y el transporte a través de la red, requiere valores para todos y cada uno de
los parámetros seleccionados. Desde este punto de vista, seleccionar parámetros
razonables para el coeficiente de Manning de un conducto, por ejemplo, no es una tarea
trivial, puesto que un parámetro puede o no ser razonable dependiendo de la carga
conceptual que se le ha asignado.

5.2.3 Modelos basados en datos reales. Ajuste de parámetros


Un método que ha sido aceptado como fiable y que se usa siempre que los medios
y los plazos lo permiten, es la comparación con datos reales obtenidos mediante
mediciones de variables físicas en los eventos de lluvia. Esto no es, obviamente, una
herramienta para el diseño, pero si es muy útil para el análisis de cómo funciona la red o
Capítulo 5. Resultados en el Área de Hidrología 140

para la posible conexión con otras estructuras aguas abajo como tanques de retención,
tanques de inundación, tanques de primer lavado, etc. que se encuentren aguas abajo.

La comparación se basa equipando la cuenca con uno o más pluviómetros y con


uno o más medidores de caudal. Si sólo se dispone de un caudalímetro, éste debería ser
colocado en el punto más bajo de la red, donde se junten todos los conductos y el agua
de la cuenca. Si sólo se dispone de un pluviómetro, éste debería ser colocado en la parte
más central de la cuenca. En pequeñas áreas urbanas, sin embargo, se puede asumir que
la lluvia cae de forma homogénea en toda la cuenca. El hidrograma registrado por el
medidor de caudal puede corregir el modelo numérico, después de haber registrado
suficientes eventos de lluvia. Mediante la comparación de ambos, se puede determinar
si realmente el modelo es capaz de reproducir el funcionamiento real de la cuenca de
una manera fiable, y también se puede determinar el grado de fiabilidad con el que se
han estimado o no los parámetros. De esta forma, si los picos registrados y las medidas
no coinciden en el tiempo, se tendría que asumir que los parámetros que implican
retardos (rozamiento, rugosidad, etc.) no han sido estimados correctamente. Si el
volumen inicial y final no coinciden, entonces el problema reside en aquellos
parámetros que determinan la filtración, retención, etc.

Con los datos obtenidos de un evento de lluvia (precipitación y caudal) es más o


menos simple el ajustar los parámetros de modo que los hidrogramas medidos y
calculados tengan un aspecto similar. Sin embargo, esto no garantiza que estos
parámetros corregidos ofrezcan un resultado exacto en otro evento. Si el mismo
ejercicio se realiza sobre una sucesión de eventos de lluvia, sería lógico pensar y asumir
que el resultado final sería una media de los valores de los parámetros, con cierta
capacidad de predicción, aún cuando el ajuste para cada evento de lluvia no sea tan
bueno como el ajuste que se obtenga si sólo fuera aplicado a ese único evento.

En este punto, sería de ayuda poder conocer cuantos parámetros se necesitan. En


un modelo numérico, no es muy difícil dividir una cuenca entre 50 o 100 unidades, cada
una teniendo 2 o 3 parámetros significativos (aparte de los geométricos, como la
superficie, forma y pendiente media). Es perfectamente factible asignar valores
Capítulo 5. Resultados en el Área de Hidrología 141

“razonables” a cada uno de estos parámetros con la ayuda de un manual, lo cual ya


produce un hidrograma. Cuando se compara este hidrograma con el que se obtiene de
los datos medidos por los sensores, y que se acepta como válido o como la situación
ideal, y se decide que los parámetros necesitan ser modificados, ¿realmente se van a
modificar 200 o 300 parámetros? Incluso si fuera humanamente posible hacerlo con
precisión, sería sumamente improbable que un nuevo conjunto de valores para los
parámetros pudiese producir una buena respuesta al siguiente evento.

Lo cierto es que el ingeniero que desarrolla el modelo realmente no escoge este


elevado número de parámetros; las características de las sub-cuencas son generalmente
agrupadas de forma automática dependiendo de su uso: jardines, calles, tejados de un
tipo u otro, etc. A cada grupo se le asigna un conjunto de parámetros (máximo de 20 o
30) que con certeza han sido elegidos a conciencia por el ingeniero y que son diferentes
para cada grupo.

Cuando se necesita ajustar estos parámetros, el número de registros de los eventos


de lluvia disponibles no es, obviamente, suficiente para el número de parámetros a
ajustar. En otras palabras, hay un número muy elevado de combinaciones de valores de
los 20 parámetros que permitirán ajustar el hidrograma. Es más necesario discutir el
carácter “razonable” de estos parámetros, por lo que con un número limitado de datos,
un fenómeno que es muy complejo se condensa. Los parámetros ahora representan más
que lo que su propio nombre indica.

5.2.4 Métodos basados en ecuaciones o en técnicas de aprendizaje


Si se comparan los dos métodos anteriores para la estimación de los hidrogramas
en una transformación lluvia-escorrentía, el hidrograma unitario y las ecuaciones
hidráulicas, se puede observar que el número de parámetros involucrados en ambos
están claramente desequilibrados, y la propia naturaleza de los parámetros es claramente
diferente.
Capítulo 5. Resultados en el Área de Hidrología 142

Añadido a esto se encuentra el hecho de que la estructura conceptual de un


hidrograma unitario es muy frágil, y su forma es fuertemente dependiente de sus
parámetros. Mientras que el uso de ecuaciones hidráulicas y la aplicación de la
geometría correcta, con la correcta discretización, es capaz de generar una estructura de
cálculo, y es menos dependiente de los parámetros. Así los 3 o 4 parámetros de un
hidrograma unitario son los responsables de definir la estructura y los valores de un
hidrograma real, compitiendo con un método cuya estructura es mucho más clara y que
tiene un número mucho mayor de parámetros. Sin embargo, fruto de la experiencia de
muchos investigadores, es posible obtener resultados con el mismo nivel de fiabilidad
tanto con un método como con el otro, siempre que exista una forma de comparación
que permita ajustarlos [CAGI 98].

El problema de ajuste de los parámetros ha sido ampliamente estudiado en todos


los campos de la ingeniería. En el estudio de estos modelos, el principio de parsimonia
prevalece, adoptando diferentes formulaciones para cada problema. Esto implica el
tender a explicar el fenómeno con el mínimo número de parámetros. Desde este punto
de vista, el hidrograma unitario es mejor herramienta que las ecuaciones hidráulicas.
Esto, obviamente, no es aplicable si estamos ante el diseño de un nuevo sistema de
drenaje o alcantarillado del que no se dispone de datos empíricos.

Tanto en los modelos basados en el hidrograma unitario como en los modelos que
reproducen ecuaciones hidráulicas, existe una base conceptual, o al menos una
estructura a priori, de modo que el método de cómputo sea predeterminado para
producir una solución específica (caudal), ante la presencia de un pulso específico
(lluvia caída). La esencia misma del método del hidrograma unitario está basada en la
asignación de una forma a partir de una excitación específica. Esta forma básica es la
estructura a priori, e implica una atenuación, un tránsito, una respuesta retardada a una
acción específica y una relación entre los pulsos (pico a pico). Las ecuaciones de Saint-
Vennant obviamente también incluyen una estructura, aunque mucho más estricta que la
anterior, ya que las ecuaciones tienen una mayor base física.
Capítulo 5. Resultados en el Área de Hidrología 143

Existe otro tipo de métodos de predicción que no tienen base conceptual y que no
intentan parametrizar la cuenca. Sólo intentan producir una formulación que puede ser
utilizada como herramienta de predicción. Podrían ser considerados como parte de los
métodos basados en el hidrograma unitario, sin embargo, en este caso, los datos
empíricos no sólo proporcionan los parámetros sino la propia estructura de las fórmulas
obtenidas.

Una RNA es un sistema de procesado de información que está fundamentado en


concepciones biológicas del cerebro humano y la biología neuronal. Una RNA funciona
como una caja negra, produciendo salidas en función de las entradas que recibe. Una
RNA puede “aprender” cómo modelizar un proceso. Se ha demostrado que esta
capacidad de predicción puede ser muy alta. Trabajos previos (ver por ejemplo la tesis
de Minns [MINN 98]) demuestran que, en el caso de la dispersión de contaminantes por
convección con velocidad constante, una RNA con funciones de activación lineal es
capaz de aprender y obtener la solución exacta, reproduciendo la ecuación de
convección. Múltiples aplicaciones en la modelización de la relación lluvia–escorrentía
y la predicción de caudal han sido realizadas con RR.NN.AA. obteniendo buenos
resultados. Las arquitecturas de RNA que se han utilizado para este tipo de aplicaciones
y referencias concretas a alguno de estos trabajos son el perceptron multicapa entrenado
con el backpropagation [HJEL 96] [HSIE 99] [WU 05], la RNA con retardos
temporales (time-delayed) [KARU 94], la RNA Recurrente, entrenada con el RTRL
(Real Time Recurrent Learning) [CARR 96], la RNA RBF (Radial Basis Function)
[FERN 98] [ZHAN 98], o la RNA autoorganizativa de Kohonen [HSU 98]. Pero los
ingenieros están acostumbrados a trabajar con ecuaciones y fórmulas matemáticas, y no
confían demasiado, hasta ahora, en los métodos de caja negra que no producen y no
pueden producir una justificación de sus resultados. Por lo que prefieren algo más
estructurado y con expresiones matemáticas. Sin embargo, investigaciones recientes en
el ámbito de las RR.NN.AA. muestran que sí es posible obtener y extraer el
conocimiento adquirido por la RNA, incluso en forma matemática. El autor de la
Capítulo 5. Resultados en el Área de Hidrología 144

presente tesis ha realizado estudios y desarrollado una metodología de extracción de


dicho conocimiento (ver tesis [RABU 02b] y publicación [RABU 04]).

La computación evolutiva, y más concretamente la Programación Genética (PG)


podría situarse en una posición intermedia entre ambos métodos, pudiendo comportarse
como se desee, bien obteniendo resultados que podrían acercarse a los métodos de caja
negra, o bien resultados con claras formulaciones matemáticas. La PG es capaz de
producir una solución en términos matemáticos, es decir, una ecuación, pero el método
para su obtención está fuertemente condicionado por los datos empíricos, al igual que
una RNA. Además se puede fijar o no la estructura y la complejidad de las ecuaciones
obtenidas. Los resultados, por tanto, pueden ser analizados y hasta extrapolados, pero
este análisis es mucho más complicado de lo que el ingeniero está acostumbrado a
realizar, principalmente porque la ecuación obtenida no tiene ninguna base física. La
siguiente figura muestra el grado de “conceptualidad” de cada conjunto de métodos.

Ec. St.Vennant Hidrograma Unitario PG RNA

100% Conceptual 100% Caja negra

Figura 52. Grado de “conceptualidad” de diferentes métodos en modelización lluvia-escorrentía.

5.3 Descripción del problema


El problema que se va abordar consiste en medir y predecir el caudal de
escorrentía en una cuenca urbana utilizando un pluviómetro para medir la cantidad de
lluvia caída en la ciudad y un sensor de caudal colocado en el punto bajo del sistema de
alcantarillado. Por lo tanto, para modelar el sistema se utilizan dos señales: la primera
que se utiliza es del pluviómetro que mide la cantidad de lluvia caída, y la segunda es
del sensor que mide el caudal de agua que existe en la red de alcantarillado. Ambas, el
caudal y el pluviómetro son señales que han sido adquiridas con una frecuencia, o
intervalos, de 5 minutos.
Capítulo 5. Resultados en el Área de Hidrología 145

Entonces, el objetivo de esta investigación considera la transformación lluvia-


escorrentía un caso en el que una de las variables (lluvia caída) es transformada en otra
(caudal de agua que existe en la red de saneamiento). La función de transferencia
involucra diferentes condiciones como las pendientes de las calles, estructura irregular
del pavimento de las calles, tipos de tejados, etc. Estas condiciones hacen imposible el
poder definir una ecuación capaz de modelar el curso del agua desde el momento en que
cae hasta el momento que entra en la red de alcantarillado, porque el curso del agua a
través de la red es complejo.

Existen varios métodos para calcular el proceso de transformación lluvia-


escorrentía [VIES 89]. Algunos de ellos están basados en el uso de funciones de
transferencia, llamadas usualmente “hidrogramas unitarios”, y están basados en la
experiencia del diseñador. Otros métodos están basados en ecuaciones hidráulicas, en
las que los parámetros se fijan por las características morfológicas del área a estudiar. El
software comercial existente para el cálculo de redes de saneamiento trae usualmente
ambos módulos, los hidrogramas unitarios y las ecuaciones hidráulicas (HMS, SWMM,
etc.).

El uso de métodos de predicción que no están basados en ecuaciones físicas, como


las RR.NN.AA. y la Computación Evolutiva, están tomando un importante auge en el
campo de la ingeniería hidráulica, y este proceso en concreto es apto para este tipo de
técnicas. Los métodos basados en Inteligencia Artificial permiten sistematizar la
información de campo para tener capacidad predictiva. Dada una cuenca sobre la que se
ha trabajado (se ha medido), se puede llegar a una formulación sólida que permita
explicar la dinámica del agua, tanto en medio urbano como rural.

5.3.1 Caso de estudio


Vitoria, en el norte de España, tiene un clima oceánico, con inviernos lluviosos e
intensidades de precipitación moderadas. Vitoria está considerada como una de las
ciudades que tiene un mayor nivel de calidad de vida entre todas las ciudades de
España, y su municipio está sumamente involucrado con la conservación
Capítulo 5. Resultados en el Área de Hidrología 146

medioambiental. El río Zadorra, afluente del río del Ebro, es el río que pasa próximo a
la ciudad.

La zona de la cuenca denominada Almendra cubre la mayor parte del área


histórica de la ciudad (ver Figura 53). Se ha instrumentado dicha cuenca con el objetivo
de conocer más acerca de los caudales y los niveles de contaminación asociados, y
también con el objetivo de construir estructuras para prevenir desbordamientos de la red
de alcantarillado. El área de dicha cuenca es de 132 ha (1.32 km2) y la densidad de
población es de 140 habitantes por ha. Las pendientes de las calles son muy
pronunciadas debido a que la parte vieja de la ciudad fue construida sobre una colina.
No existen áreas verdes o jardines, por lo que la cuenca es muy impermeable. El sistema
de alcantarillado es muy complejo debido a que las calles son sumamente estrechas en
la zona vieja.

Como parte de la instrumentación colocada en la cuenca, se tiene un pluviómetro


y un sistema para poder medir el caudal en un punto bajo de la red de saneamiento. El
pluviómetro registra pulsos con una resolución de 0.1 mm, y el medidor de caudal se
basa en la integración de la velocidad y el área de la sección por donde circula el agua;
para ello se utiliza un sensor de velocidad basado en el principio Doppler. Para el
cálculo del caudal se necesita el nivel o altura de agua que circula por la sección, para
ello se utiliza un sensor de ultrasonidos. Además se utilizan dos equipos registradores
de datos denominados “data-loggers”, el primero para registrar los datos de
pluviometría (contador de pulsos) y el segundo, con dos entradas adaptadas para el
sensor de velocidad y el sensor de nivel. Este segundo datalogger es el fabricado por la
empresa “American Sigma” modelo “950 flowmeter”, el cual dispone de ambos
sensores específicos para el equipo. Los dos dataloggers están configurados para
registrar datos a intervalos de 5 minutos, por lo que después es sencillo relacionarlos.

La Figura 54 muestra los datos obtenidos para la lluvia caída y el caudal


registrado. Esta serie de datos son los que se utilizan para el ajuste del hidrograma
unitario y para la aplicación de los modelos basados en inteligencia artificial.
Capítulo 5. Resultados en el Área de Hidrología 147

Figura 53. Mapa de la cuenca denominada Almendra


Capítulo 5. Resultados en el Área de Hidrología 148
Caudal (m3/s)

Lluvia (mm)
Tiempo (días)

Figura 54. Registro de lluvia (mm) y caudal (m3/s)

Como se puede observar, existe un cierto caudal base de carácter cíclico que no se
puede considerar insignificante y que se puede asociar al consumo diario de los
habitantes de la ciudad. El primer paso debería ser el discriminar este caudal diario del
caudal debido a los eventos de lluvia, y este proceso es el que se aplicará en la
modelización de este sistema.

5.4 Sistema propuesto


El problema consiste en predecir el caudal de la cuenca urbana utilizando como
única entrada los datos de un pluviómetro colocado en el centro de la ciudad. Por lo
tanto, el objetivo es predecir el caudal resultante provocado por la lluvia caída en la
ciudad. Usualmente, las dos señales (lluvia caída y caudal derivado de la lluvia) tienen
una relación en la que la señal de lluvia se transforma en la señal de caudal (como se
puede observar en la Figura 55). La señal de caudal obtenida actúa como respuesta al
estímulo de la señal de lluvia caída.
Capítulo 5. Resultados en el Área de Hidrología 149

Pluviómetro Caudal obtenido

Figura 55. Señales del pluviómetro y del sensor de caudal.

La unidad de medida que se utiliza para el pluviómetro es de milímetros (mm) o


litros por metro cuadrado (l/m2).

En una cuenca urbana, la señal de caudal tiene dos causas diferentes, es decir, se
puede descomponer en dos señales diferentes, una representando el comportamiento del
agua residual generada por los habitantes de la ciudad, y el otro es el producido por la
lluvia caída (ver Figura 56). Entonces el sistema se puede dividir en dos partes:

• El modelado del caudal diario de agua residual.

• El modelado del caudal producido por la lluvia caída en la cuenca.

El comportamiento cíclico de la señal de caudal depende de la cantidad de agua


consumida por los ciudadanos. Por ejemplo, el volumen de consumo es menor por la
noche e incrementa durante el día. La escorrentía aparecerá como incrementos de caudal
sobre la señal cíclica. Por eso, es conveniente estudiar ambos comportamientos de
forma separada, y esta será la forma de actuar en este trabajo.
Capítulo 5. Resultados en el Área de Hidrología 150

2.5

Caudal producido por la lluvia


2

1.5

Caudal diario
1

0.5

Figura 56. Caudal producido por el flujo diario y el causado por la lluvia.

5.4.1 Modelado del caudal diario


Observando la señal de caudal que se obtiene del sensor de caudal (ver Figura 56)
se puede diferenciar el comportamiento diario y el producido por la lluvia y discriminar
ambas señales. Si se eliminan los picos de caudal derivados de la lluvia caída se obtiene
una señal cíclica con un periodo diario (ver Figura 58) que se puede utilizar para
entrenar una RNA o un sistema mediante Computación Evolutiva que modelice este
comportamiento. Para la prueba del sistema, se hace una media entre los diferentes
momentos del día: si se tienen datos con una frecuencia de 5 minutos, se tiene un total
de 288 muestras por día, y por tanto, el fichero de test tendrá esta longitud (como se
puede observar en la Figura 57), donde la parte central corresponde con las horas
nocturnas, sobre las 9 de la mañana aparecen picos de caudal correspondientes con las
duchas matinales, sobre las 3 de la tarde aparecen otros picos que corresponden con las
horas de comida y sobre las 10 de la noche aparecen otros picos que corresponden a las
horas de cena.
Capítulo 5. Resultados en el Área de Hidrología 151

0.32
comida cena desayuno
0.3

0.28

0.26

0.24

0.22

0.2
noche
0.18
15:00 50 19:10100 23:20150 3:30 200 7:40250 11:50

Figura 57. Hidrograma promediado de agua residual urbana.

Figura 58. Hidrograma que se utiliza para el proceso de entrenamiento – 5426 datos.

El objetivo de utilizar la serie completa para entrenar el sistema es que intente


generalizar el hecho de que el agua residual tiene un cierto comportamiento común
según la hora del día en el que se produzca, pero diferente según el día de la semana y
de la época del año (más consumo en unos meses frente a otros, el sábado será diferente
Capítulo 5. Resultados en el Área de Hidrología 152

del martes, etc). Otro tipo de error es debido a la lluvia porque el caudal debido a
consumo humano también depende de la lluvia, es decir, cuando llueve habrá más
consumo porque la gente tenderá a estar más en casa. Este tipo de errores son difíciles
de controlar y que habrá que asumir pues el porcentaje que afectará al resultado final
tenderá a ser bajo.

Para poder predecir este comportamiento se ha afrontado el problema desde dos


perspectivas, una solución utilizando la Programación Genética, mediante la inducción
de expresiones matemáticas que modelicen dicha relación, y mediante una RNA.

5.4.1.1 Mediante PG

Una vez establecido el conjunto de entrada y salida se puede codificar el problema


usando PG. Después de varios experimentos se pueden establecer los elementos
terminales y funciones. Los operadores aritméticos tradicionales se han añadido como
elementos no terminales y el seno y coseno ofrecen el componente periódico de la señal.
La variable X es la entrada que representa la hora del día; se generarán números
comprendidos entre el rango [-1 y 1] y que constituirán las constantes de las fórmulas
generadas; y el valor “pi” ( π ) se incluye como constante. Como observación se
considera que el operador % representa la división protegida. Las funciones y elementos
terminales utilizados por el algoritmo son:

Funciones: {sin, cos, +, *, %, -}

Terminales: {X, π , [-1,1]}

Se han probado diferentes configuraciones donde no se incluían el seno, coseno y


π , pero producían peores resultados.

Los resultados de los experimentos que carecían de ambos: a) seno y coseno y b)


pi ( π ) como Terminal, daban lugar a un error medio de 0.04, no obstante al introducir
el seno y coseno se obtenía un error medio de 0.022 e introduciendo la constante π se
reduce el número de generaciones requeridas para obtener el error medio 0.022. Este
hecho refuerza la idea de que tanto el empleo de las funciones seno y coseno como la
Capítulo 5. Resultados en el Área de Hidrología 153

constante π ayudan debido a que la señal modelizada en este estudio tiene una
naturaleza periódica.

Con las aparentes ventajas del uso de las funciones y de la constante π , se han
estudiado empíricamente diferentes configuraciones empleando distintos ratios de cruce
y mutación con diversos tamaños de población. Obteniendo que la siguiente
configuración produce los mejores resultados:

• Tamaño de Población: 2000 individuos


• Ratio de cruces: 90 %
• Ratio de mutaciones: 3%
• Ratio de replicación: 7%
• Tipo de selección: Torneo

La siguiente ecuación corresponde con la simplificación del mejor individuo


obtenido después de 40 ejecuciones del algoritmo.

⎛ ⎛ ⎞⎞
⎜ ⎜ ⎟⎟
1 ⎜ sin(− 0.0225 ⋅ (x + 2π )) + 0.9992
cos cos⎜ + 0.97747 ⎟ ⎟
π ⎜ ⎜ 3.02673244 ⎟⎟
⎜ ⎜ cos(0.02996 ⋅ (cos(0.0247 ⋅ (x + π )) + cos(0.0247 ⋅ x ) + x − 0.89227)) ⎟⎟
⎝ ⎝ ⎠⎠
Ecuación 27. Mejor Individuo

Sin considerar el efecto de la lluvia, el caudal diario se puede modelizar


empleando la Ecuación 27 teniendo en cuenta que la entrada tiene un valor entre 0 y
287 (correspondiente a un día entero). En la Figura 59 se puede ver la predicción junto
con la media de caudal diario.
Capítulo 5. Resultados en el Área de Hidrología 154

---- Predicción de PG
Media de caudal diario

15:00 19:10 23:20 3:30 7:40 11:50 15:00

Figura 59. Caudal diario y predicción de la PG

Como se puede observar en la figura comparativa, la expresión busca aproximar


las predicciones evitando cambios bruscos en sus valores, esto es debido a lo que se
comentaba en el apartado anterior, el sistema intenta generalizar el hecho de que el agua
residual tiene un cierto comportamiento común según la hora del día en el que se
produzca, pero diferente según el día de la semana y de la época del año (más consumo
en unos meses frente a otros, el sábado será diferente del martes, etc), por lo que este
ajuste será bueno para cualquier día de la semana. Si en vez de utilizar toda la serie
como patrón de entrenamiento se utiliza la media de todos los días (patrón de test),
obviamente se tendría un ajuste mucho mejor, incluso en los cambios bruscos, pero se
perdería capacidad de generalización y se empeoraría el comportamiento general del
sistema.

Cabe resaltar que, actualmente, no existe ninguna expresión analítica para poder
predecir la curva diaria de consumo de los habitantes. Esta depende de un conjunto
variado de factores en el empleo del agua, por ejemplo la actividad comercial o
Capítulo 5. Resultados en el Área de Hidrología 155

industrial del lugar, comportamiento de los habitantes, etc. En general, habrá una curva
formada por valores altos que representan el día y unos valores bajos que representan la
noche. Es mejor suavizar el ajuste del caudal diario para evitar las posibles
fluctuaciones de caudales dependientes de circunstancias externas.

5.4.1.2 Mediante RNA

Para modelizar este comportamiento diario de consumo, se ha decidido usar una


RNA alimentada hacia delante utilizando la estrategia de ventana temporal con una
longitud L como capa de entrada y una única salida que representará la predicción del
caudal en el instante siguiente (ver Figura 60).

Xn

Xn-1
X n+1
Xn-2
.
.
.
Xn-L

Figura 60. Arquitectura de la RNA.

Muchas soluciones a problemas de predicciones utilizando RNA utilizan una


arquitectura alimentada sólo hacia delante [ATIY 99]. Considérese una serie temporal
X1, X2, … Xn, donde se necesita predecir el valor de Xn+1. Las entradas de la RNA son
los valores previos de la serie y la salida será la predicción en el siguiente instante.

Se ha entrenado esta arquitectura de RNA utilizando AG mediante el sistema


desarrollado para la presente tesis (ver capítulo 3) y se ha conseguido modelizar el
comportamiento del consumo diario de forma satisfactoria. En la Figura 61 se puede
observar la comparativa del comportamiento de esta RNA. El error medio que se ha
obtenido es de 0.0048 (menor que con PG).
Capítulo 5. Resultados en el Área de Hidrología 156

Para elegir la longitud de la ventana se han hecho varias pruebas, así como se han
probado diferentes arquitecturas de RNA probando diferentes funciones de activación
(lineal, hiperbólica tangente, sigmoide). Para cada combinación de tamaño de ventana y
función de activación se han realizado 20 ejecuciones independientes. Los resultados se
pueden observar en la Figura 64, los cuales muestran que el tamaño de la ventana no
tiene excesiva influencia y la mejor función de activación es la hiperbólica tangente con
una ventana temporal (L) de 14.

---- Predicción de RNA


Media de caudal diario

15:00 19:10 23:20 3:30 7:40 11:50 15:00

Figura 61. Media del caudal diario y resultado de la predicción de RNA.

Como se puede observar, los valores que se obtienen del test se acercan más al
comportamiento del promedio diario manteniendo el comportamiento de evitar los
cambios bruscos y, por consiguiente, con buena capacidad de generalización. Por lo
tanto, se puede considerar que esta técnica produce mejores resultados, para esta
modelización, que la PG, aunque no se obtiene una expresión matemática del proceso
como es capaz de producir la técnica anterior.
Capítulo 5. Resultados en el Área de Hidrología 157

0.45 Fitness Cruce 70%


Cruce 75%
0.40
Cruce 80%
0.35 Cruce 85%
0.30 Cruce 90%
Cruce 95%
0.25
Cruce 100%
0.20 Mejor combinación
0.15
0.10
0.05

0.00 Mutaciones
0 5 10 15 20 25 30 %

Figura 62. Comparaciones entre los parámetros del AG para el entrenamiento de RNA.

0.06
0.0512
0.05
Ajuste en 1000 generaciones

0.04

0.03

0.02
0.0151
0.0095
0.01 0.0073
0.0052

0
100 250 500 750 1000
Individuos de la población

Figura 63. Comparaciones entre ratios de cruce, mutaciones y tamaños de población del AG.

7 Sigmoide
ECM*10-4
Lineal
6 Mejor Resultado
Hiperbólica Tangente

0 Ventana
5 6 7 8 9 10 11 12 13 14 15 16 17

Figura 64. Comparaciones entre diferentes funciones de activación y ventanas temporales.


Capítulo 5. Resultados en el Área de Hidrología 158

Después de realizar diversas pruebas se ha obtenido que la mejor combinación de


parámetros del Algoritmo Genético para el entrenamiento de la RNA es el uso de un 5%
de tasa de mutaciones y una tasa de cruces del 90% (ver Figura 62). En la Figura 63 se
muestra la población que obtiene el mejor ajuste en 1000 generaciones, constituida por
500 individuos.

5.4.1.3 Comparativa entre PG y RNA

Como se puede observar en la siguiente tabla se obtiene una mejor aproximación


utilizando una RNA para modelizar el caudal diario de consumo de los habitantes. Sin
embargo, con la PG se puede obtener una expresión matemática de la relación.

EM
Fórmula Genética 0.0220
RNA 0.0048

Tabla 12. Comparación entre las dos propuestas.

5.4.2 Modelado del caudal producido por la lluvia


Una vez se ha modelizado el efecto del caudal diario, se realiza un preprocesado
sobre la señal original para eliminar este componente diario, utilizando la anterior señal
modelada. Esto se realiza mediante una superposición de la señal obtenida sobre la
señal real efectuando la diferencia de ambas. Hecho esto, la señal resultante será la
debida únicamente a la lluvia caída.

El objetivo ahora es predecir el caudal que se va a producir como consecuencia,


únicamente, de la lluvia caída. Generalmente, estas señales guardan una relación que se
plasma en otra señal que convierte la señal del pluviómetro en la del caudal. Esta señal
tiene la forma de suma de funciones exponenciales, y actúa como la respuesta al
impulso de un sistema que relaciona las dos señales.

Por tanto, el planteamiento ahora es conseguir una expresión que relacione la


lluvia (Figura 65 y Figura 66) con el caudal (Figura 67 y Figura 68).
Capítulo 5. Resultados en el Área de Hidrología 159

Usualmente, en hidrología, estas dos señales (lluvia caída y caudal producido por
la lluvia) se pueden modelizar con una relación mediante una función de transferencia
que se denomina hidrograma unitario. Este hidrograma unitario actúa como una
respuesta al estímulo que produce la señal de lluvia caída. Esto puede ser expresado en
términos de expresiones matemáticas.

Para esta tarea, se van a aplicar tres métodos diferentes y se va a analizar cual de
ellos produce los mejores resultados. Los métodos a aplicar son los siguientes:

¾ Red de Neuronas Artificiales

¾ Programación Genética

¾ Hidrograma Unitario SCS

Figura 65. Señal del pluviómetro (fichero de entrenamiento – 5426 puntos).

En la Figura 65 se puede observar la señal del pluviómetro que se utilizará como


entrada para el proceso de entrenamiento del sistema. En la Figura 66 se puede observar
la señal de caudal de agua que se utilizará como salida del proceso de entrenamiento. En
las Figura 67 y Figura 68 se pueden observar las señales que se usarán para el proceso
de validación y que servirán para comprobar si el modelo obtenido funciona
adecuadamente.
Capítulo 5. Resultados en el Área de Hidrología 160

2.5 2

2
1.5

1.5
1
1

0.5
0.5

0 0

1.5

0.5

Figura 66. Señal de caudal que se utiliza para el proceso de entrenamiento – 5426 datos.

Como se puede observar en la gráfica inferior de la Figura 66, la señal de


entrenamiento tiene, entre los eventos de lluvia más perceptibles visualmente, ciertos
valores mínimos de caudal de agua residual que proviene del proceso de sustracción del
sistema que modeliza el caudal diario, y como éste tiene un cierto comportamiento
común según la hora del día en el que se produzca, pero diferente según el día de la
semana y de la época del año se produce ese error (ya que se diseña un sistema lo más
automático e independiente del experto posible), sin embargo el porcentaje que afectará
al resultado final tenderá a ser bajo.
Capítulo 5. Resultados en el Área de Hidrología 161

3.5
3
2.5

2
1.5

1
0.5

Figura 67. Señal del pluviómetro (fichero de entrada para el test – 250 puntos).

1.2

0.8

0.6

0.4

0.2

0
0 50 100 150 200 250

Figura 68. Señal del caudal (Fichero de entrada para el test – 250 puntos).

5.4.2.1 Modelo de la escorrentía mediante RNA

Para el modelado de la relación lluvia-escorrentía se puede utilizar una RNA, pero


para ello, se debe considerar la posibilidad de poder incluir los estados pasados, o la
información pasada de pluviometría. Esto es necesario puesto que la RNA debe poder
ser capaz de manejar la información pasada para poder predecir los valores de caudal
generados. Para ello se pueden utilizar dos arquitecturas diferentes de RNA. La primera
de ellas puede ser una RNA alimentada sólo hacia delante y utilizando la estrategia de
ventana temporal (al igual que en el caso del modelado del caudal diario). En esta
estrategia se debe realizar un análisis previo para determinar la cantidad de estados
Capítulo 5. Resultados en el Área de Hidrología 162

pasados indispensables para que la RNA pueda funcionar correctamente. Esto se puede
hacer observando el retardo temporal (y por consiguiente el número de valores pasados)
que existe entre un evento de lluvia y el inicio del aumento de caudal que produce.

Otra alternativa es el uso de una RNA con arquitectura recurrente. En este caso, el
propio proceso de entrenamiento conlleva la identificación de este retardo que se
incluye internamente en la RNAR final. Esta alternativa posee como ventaja el hecho de
que si existen diferentes valores de retardo en diferentes eventos de lluvia, la RNAR
puede adecuarse a todos o a gran parte de ellos para producir un mejor ajuste final.
Además, desde el punto de vista del propio usuario, es más cómoda esta última técnica
puesto que no necesita identificar dicho retardo.

En cuanto al tipo de entradas de la RNA, se pueden realizar, adicionalmente, dos


configuraciones. En primer lugar, utilizar únicamente la información pluviométrica, y
que la RNA interprete cómo debe producir la escorrentía (desplazamiento temporal y
valor de caudal). O por el contrario, como segunda alternativa, incluir como
información adicional (siempre y cuando se pueda incluir este dato de un sensor que
permita medir el caudal en el punto más bajo de la cuenca), el valor anterior de caudal.
En este último caso, la RNA, por defecto producirá este valor en su salida y lo
aumentará o decrementará en función de si ha habido algún evento de lluvia. Es
evidente que esta segunda aproximación será más fácil para la RNA, pues será capaz de
producir un valor coherente utilizando como referencia el valor pasado de caudal, sin
embargo, en predicción a más largo plazo, tendrá más dificultades puesto que no tendrá
esa información anterior. Mediante la primera aproximación, la RNA tenderá a
identificar cómo responder ante los eventos de lluvia (única y exclusivamente ante
ellos) e incluso a largo plazo. Por lo que el valor de ajuste a corto plazo (al instante
siguiente) será peor que en la segunda aproximación (utilizando el valor de caudal del
instante anterior como entrada adicional).
Capítulo 5. Resultados en el Área de Hidrología 163

A continuación se probarán estas dos estrategias entrenando una RNAR para cada
una de ellas y se observará dicho comportamiento.

La primera aproximación consiste en suministrar únicamente a la RNAR los datos


del pluviómetro y esperando obtener como salida el valor del caudal (una vez
normalizados Æ Q’=Q/2.5 y P’=P/8). La RNAR que ha sido obtenida con el sistema
realizado en la presente tesis utilizando AG y que produce los mejores resultados,
después de haber probado con 3, 4, 5, y 6 neuronas y las funciones de activación
incorporadas en el sistema desarrollado (Lineal, Hip. Tg. y Sigmoide) es la siguiente:

-- 3 neuronas: 1 entrada, 1 salida y 1 oculta Matriz pesos

-- Función de Activación: lineal (f = K x NET) -0.922 0.760 0.217


-0.927 0.730 0.723
-- Sin activación atenuada en el tiempo -0.071 0.968 0.267

Matriz K:
0.404
0.638
0.896

Datos del Predicción de


Pluviómetro 1 3 caudal

Figura 69. Arquitectura de la RNA recurrente 1.

Esta RNA Recurrente (que se denominará RNAR 1) produce un ECM de 0.0037 y


un EM de 0.0343 sobre los datos de validación. En la Figura 70 se puede observar la
comparativa entre el caudal real y la predicción obtenida sobre los datos de validación.
Capítulo 5. Resultados en el Área de Hidrología 164

1.2
Flow
Caudalrate

1 RANN prediction
Predicción de la RNAR
Error
Error
0.8

0.6

0.4

0.2

Figura 70. Caudal y predicción de la RNAR 1 (fichero de test).

Como se puede observar, la RNAR 1 intenta buscar valores medios de predicción,


esto es debido a que esta arquitectura, al no incorporar el modelo de activación atenuada
en el tiempo, no es capaz de aprender de forma correcta la respuesta a los pulsos de
lluvia (y como no tiene otra entrada adicional, intenta buscar valores intermedios de
ajuste). Si se incorpora la activación atenuada, se puede conseguir un mejor
comportamiento de la RNAR. Para ello se realiza un entrenamiento de otra con los
parámetros especificados en la Figura 71. Como se puede observar en esta (denominada
RNAR 2), se necesita una neurona adicional en la capa oculta y 4 ciclos internos antes
de producir la salida.

Esta RNAR 2 produce un ECM de 0.00071 y un EM de 0.0415 sobre los datos de


validación. En la Figura 72 se puede observar la comparativa entre el caudal real y la
predicción obtenida sobre los datos de validación. Como se puede apreciar, el grado de
ajuste es superior a la RNAR 1, Aunque el tiempo de entrenamiento que ha precisado el
algoritmo en este caso es superior. Como se puede observar, las predicciones en los
eventos de lluvia (aumento de caudal de escorrentía) son mucho más precisas, excepto
al principio, donde la red necesita un cierto histórico de información anterior para ir
ajustando la salida correcta.
Capítulo 5. Resultados en el Área de Hidrología 165

-- 4 neuronas: 2 entrada, 1 salida y 1 oculta Matriz pesos

-- Función de Activación: Hiperbólica Tangente -0.627 -1.342 1.645 -1.488


1.134 1.341 0.279 1.275
-- Activación atenuada en el tiempo: -1.229 1.130 1.672 0.822
1.683 0.939 -1.304 1.357
-- 4 ciclos
-- Tiempo: 0.01 Matriz pendientes

-0.00016 -0.00029 -0.00042 -0.00031


-0.00080 -0.00089 -0.00040 -0.00025
-0.00067 -0.00070 -0.00077 -0.00073
-0.00084 -0.00053 -0.00034 -0.00071

Datos del Predicción de


1 4
Pluviómetro Caudal (Qt)

2 3

Figura 71. Arquitectura de la RNA recurrente 2.

1.2 Caudal
Predicción de la RNAR
1
Error
0.8

0.6

0.4

0.2

Figura 72. Caudal y predicción de la RNAR 2 (fichero de test).


Capítulo 5. Resultados en el Área de Hidrología 166

En cuanto a la segunda estrategia (incorporar el valor de caudal del instante


anterior), se ha entrenado otra red (denominada RNAR 3), siendo la configuración que
mejores resultados produce la siguiente:

-- 4 neuronas: 2 entrada, 1 salida y 1 oculta Matriz pesos

-- Función de Activación: Hiperbólica Tangente 8.472 3.760 2.996 -4.434


-2.692 -0.938 -3.509 6.042
-2.173 -2.343 -5.676 -3.872
-7.286 0.553 0.629 -1.169

Datos del Predicción de


1 4
Pluviómetro Caudal (Qt)

Datos de
2 3
Caudal (Qt-1)

Figura 73. Arquitectura de la RNA recurrente 3.

Esta RNAR 3 produce un ECM de 0.00038 y un EM de 0.0098 sobre los datos de


validación. En la Figura 74 se puede observar la comparativa entre el caudal real y la
predicción obtenida sobre los datos de validación. Como se observa, el grado de ajuste
es superior a la estrategia anterior, aunque en este caso se precisa el valor anterior de
caudal. Además, el tiempo de entrenamiento que ha necesitado el algoritmo es inferior.

Analizando ambas señales, como se ha comentado al principio de este punto, se


puede determinar el tiempo o el número de muestras (L) desde que se produce un
evento de lluvia hasta que se genera el caudal de escorrentía asociado. Utilizando este
dato se puede utilizar una RNA alimentada sólo hacia delante incorporando la estrategia
de ventana temporal. Para ello se compone un fichero de entradas de entrenamiento que
incorpore, además del valor de caudal anterior, los valores de pluviometría actual y los
L anteriores.
Capítulo 5. Resultados en el Área de Hidrología 167

1.2 Caudal
Predicción de la RNAR
1
Error
0.8

0.6

0.4

0.2

Figura 74. Caudal y predicción de la RNAR 3 (fichero de test).

Después de varias pruebas se observa que un valor adecuado para L es de 5, esto


supone incorporar a la RNA un histórico de valores de lluvia correspondientes a los 30
minutos previos (tiempo de concentración de la cuenca). Se han probado diferentes
arquitecturas de RNA en cuanto a la configuración de capas, neuronas por capa y tipo
de función de activación. La Tabla 13 muestra un resumen de las pruebas realizadas. La
RNA que mejores resultados produce puede observarse en la Figura 75 y la comparativa
de ajuste obtenida sobre los datos de validación en la Figura 76.

Neuronas Función de
EM ECM
por Capa Activación
7-2-1 Hip. Tg. 0.0175 0.00025
7-3-1 Hip. Tg. 0.0125 0.00018
7-4-1 Hip. Tg. 0.0101 0.00013
7-5-1 Hip. Tg. 0.0125 0.00013
7-6-1 Hip. Tg. 0.0126 0.00013
7-4-1 Sigmoide 0.0351 0.00147
7-4-1 Lineal 0.0175 0.00018
7-4-2-1 Sigmoide 0.0175 0.00018
7-4-2-1 Lineal 0.0408 0.00231
7-4-2-1 Hip. Tg. 0.0416 0.00214

Tabla 13. Resumen de pruebas de diferentes parámetros de RNA.


Capítulo 5. Resultados en el Área de Hidrología 168

Q n-1

Pn
Qn
Pn-1
.
.
.
Pn-5

Figura 75. Arquitectura de la RNA que mejores resultados produce.

1.2 Caudal
Predicción de la RNAR
1
Error
0.8

0.6

0.4

0.2

Figura 76. Caudal y predicción de la RNA con ventana temporal (fichero de test).

5.4.2.2 Modelo de la escorrentía mediante Programación Genética

A diferencia del caso anterior (mediante una RNA), ahora se va aplicar una
técnica del área de la Computación Evolutiva, denominada Programación Genética. En
el capítulo 2 de la presente tesis se muestra en detalle los fundamentos de esta técnica.
Mediante la PG, además de poder aportar una solución al problema, al igual que una
Capítulo 5. Resultados en el Área de Hidrología 169

RNA, se consigue una fórmula matemática, lo cual supone disponer de una valiosa
información adicional de la solución.

Inicialmente se va aplicar el sistema desarrollando en esta tesis utilizando como


operadores las funciones aritméticas clásicas intentando buscar una función que
relacione la lluvia con el caudal de escorrentía. Para ello se utilizarán los mismos
ficheros de entrenamiento y validación que se han usado en las RR.NN.AA. Una de las
ventajas adicionales de la PG, es el hecho de que se podrían utilizar los valores de
entrada y salida originales, sin el proceso de normalización imprescindible para una
RNA. En esta primera aproximación se configura el algoritmo con los siguientes
parámetros:

Funciones: +, *, -, /

Terminales: Constantes en el rango [-10 - 10]

Variables de entrada: Pt, Pt-1, Pt-2, Pt-3, Pt-4, Pt-5, Qt-1

Salida: Para obtener el valor de caudal de escorrentía (Qt).

Como se puede observar en las variables de entrada utilizadas, se simula el


concepto de ventana temporal, en forma similar a la configuración de entradas de una
RNA que realice esta estrategia.

Por lo tanto el algoritmo de PG nos proporcionará una fórmula del tipo:

Qt = f (Pt, Pt-1, Pt-2, Pt-3, Pt-4, Pt-5, Qt-1)

Se han probado diferentes combinaciones de ratios de cruce y mutación,


diferentes tamaños de población y diferentes tipos de selección y los parámetros del
algoritmo que mejores resultados producen son:

• Tamaño de Población: 500 individuos


• Ratio de cruces: 80 %
• Ratio de mutaciones: 15 %
• Ratio de replicación: 15%
• Tipo de selección: Torneo.
Capítulo 5. Resultados en el Área de Hidrología 170

Inicialmente se ha aplicado el algoritmo sobre los patrones de aprendizaje


utilizando un valor de parsimonia bajo (0.000001), con el objetivo de limitar lo menos
posible la complejidad de las fórmulas obtenidas, pero también, sin que estas fuesen
excesivamente complejas. La expresión matemática que genera la PG y que produce los
mejores resultados para esta configuración de parámetros, obtiene un EM de 0.009 y un
ECM de 0.00024, y se puede observar en la Ecuación 28.

Qt = ((((0.036 - ( Qt-1 + 0.025)) * (((0.332 * ( Pt-1 * 1.285 + 0.068)) *


0.439 * Pt-3)+( Pt-5 * ( Pt-3 + Pt-2) * Pt-3))) + ((( Qt-12) * (1.395 *
((0.164 - Qt-12) * 0.068))) + Qt-1)) + (((0.025 * ( Qt-12)) * ((1.395 *
(Qt-1 * (1.797 * (-1.84)))) * 1.015)) + (((( Qt-1 + 0.068) * (Qt-13)) +
Pt-3 + Pt-2)) * ( Pt-1 * 0.068))))

Ecuación 28. Función 1 obtenida de la PG.

Aunque el ajuste obtenido es incluso mejor que los valores obtenidos por la mejor
RNAR, pero no que la RNA con ventana temporal, la expresión obtenida es compleja.
Aumentando la penalización (valor de parsimonia de 0.0005) se obtiene una expresión
más reducida, con un EM de 0.0124 y un ECM de 0.00064, y más interpretable desde el
punto de vista del ingeniero civil. Esta expresión puede observarse en la Ecuación 29.

Qt = Qt-1 + Pt-1 * 0.068 * Pt-2

Ecuación 29. Función 2 obtenida de la PG.

Variando la parsimonia desde 0.0001 hasta 0.00001 de forma dinámica a medida


que se obtienen diferentes ajustes, se consigue una fórmula con mejores valores, EM de
0.010 y ECM de 0.0003. Esta expresión puede observarse en la Ecuación 30.

Qt = -0.089 * Qt-13 + Qt-1 + 0.025 * Pt-1 + 0.068 * Pt-1 * Pt-2

Ecuación 30. Función 3 obtenida de la PG.


Capítulo 5. Resultados en el Área de Hidrología 171

En la Figura 77 se puede observar la comparativa entre el caudal real y la


predicción obtenida sobre los datos de validación utilizando la expresión matemática de
la Ecuación 30. Como se puede observar, el grado de ajuste es similar a los obtenidos
con la RNAR, con la ventaja añadida que se dispone de una fórmula matemática que
puede manipularse fácilmente si se necesita un posterior ajuste.

1.2 Caudal
Predicción de la PG
1
Error
0.8

0.6

0.4

0.2

Figura 77. Caudal y predicción de la función 3 de PG (fichero de test).

Sin embargo, el sistema, al igual que en la RNA, precisa para obtener un ajuste
bueno la información de caudal real en el instante de tiempo anterior, por lo que las
predicciones a largo plazo, al realimentar su salida, perderán capacidad de ajuste.
Además, se precisa determinar el tamaño de la ventana temporal para componer el
fichero de entradas.

Se podría definir un algoritmo de PG que no necesite la información de caudal


previo y sólo con la información pluviométrica sea capaz de realizar buenas
predicciones de caudal de escorrentía. De este forma, no se utilizaría la estrategia de
ventana temporal y el sistema puede funcionar de una forma más automática para el
experto.

Observando el aspecto de las señales, pluviometría y caudal, se aprecia un


comportamiento similar al de un filtro electrónico: un circuito electrónico que posee una
entrada y una salida, en la entrada se introducen señales alternas de diferentes
Capítulo 5. Resultados en el Área de Hidrología 172

frecuencias y en la salida se extraen esas señales atenuadas en mayor o menor medida


según la frecuencia de la señal. Ante un impulso electrónico a la entrada del dispositivo,
un filtro pasa bajo respondería atenuando dicha señal en amplitud y ampliando el
tiempo de efecto de la misma.

a)

b)

c)

Figura 78. a) Señales de pluviómetro y de caudal de escorrentía generado b) filtro electrónico pasa
banda (filtro pasa alto más filtro pasa bajo) c) simulación de un filtro electrónico ante un pulso.
Capítulo 5. Resultados en el Área de Hidrología 173

En este caso se aplicará un sistema de programación genética de la forma que se


indica en el capítulo 3.4.4. donde se explica el sistema desarrollado para la
modelización de filtros entre señales.

El objetivo es conseguir una señal que modelice el sistema definido por la


relación entre las dos señales teniendo la forma de la Figura 79.

− k i ⋅n

∑c ⋅e
i
i
lluvia (n)
h(n)
caudal (n)

Figura 79. Relación entre las 2 señales (lluvia y caudal) a modelizar.

Esta expresión modeliza un filtro entre señales, es decir, una transformación que a
partir de una señal de entrada (que en este caso será el nivel de lluvia) genera una señal
de salida (en este caso el caudal), y dicha transformación viene caracterizada por una
señal h(n), que tiene dicha forma [RABU 06].

Este será un sistema discreto, y como tal la relación de las señales se plasma en
una ecuación en diferencias del estilo:
M N

∑ bi ⋅ y(n − i) = ∑ ai ⋅ x(n − i)
i =0 i =0

Ecuación 31. Relación entre las 2 señales (lluvia y caudal) a modelizar en un sistema discreto.

donde x(n) es la señal de entrada (lluvia), y(n) es la señal de salida (caudal que predice)
y los bi y ai son las constantes que relacionan las muestras desplazadas de la entrada y la
salida. M representa el número de muestras del pasado de la salida generada que se
utilizan, y N representa el número de muestras del pasado de la entrada que se utilizan
para generar la salida. Por lo tanto, al desarrollarlo de esta manera, el sistema es capaz
de determinar por sí mismo la cantidad de información pasada que precisa para
modelizar correctamente la relación entre ambas señales. Sin embargo, a diferencia de
las otras estrategias utilizadas donde la información pasada que se introducía era el
valor del caudal en el instante anterior (como entrada adicional al sistema), en este caso,
Capítulo 5. Resultados en el Área de Hidrología 174

esa entrada no existe, la única información pasada de la que puede disponer el algoritmo
es la relacionada con la pluviometría. Sin embargo, el sistema puede utilizar como
realimentación el valor de caudal que predice en el instante anterior.

Para conseguir la modelización de este tipo de sistemas, existen varias técnicas


para el diseño de filtros [LIBE 01]. Sin embargo, tras numerosas pruebas se ha
observado que la forma que mejores resultados ha obtenido ha sido aquella en la que se
utiliza la PG para situar los polos y ceros del sistema, obteniendo la expresión en el
dominio Z (dominio de la frecuencia), y después convertirla al dominio del tiempo. Para
esta transformada Z inversa se parte de:

H[Z] = Y[Z] / X[Z]

donde se obtiene una fracción del tipo

K* (1 + b1*Z -1 + b2*Z -2 + ...) / (1 + a1 *Z-1 + a2 *Z -2 + ...)

y por tanto

Y[Z] * (1 + a1*Z-1 + a2* Z -2 + ...) = X[Z] *K* (1 + b1* Z -1 + b2* Z -2 + ...)

Esta ecuación en el tiempo se transforma en

yn + a1*yn-1 + a2*yn-2 + .... = K*xn + K*b1*xn-1 + K*b2*xn-2 + ...

Es decir, cada Z(-k) se corresponde con un xn-k o yn-k, según corresponda.

Utilizando el sistema descrito en el capítulo 3.4.4 se han probado diferentes


combinaciones de ratios de cruce y mutación, diferentes tamaños de población y
diferentes tipos de selección. Los parámetros del algoritmo que mejores resultados
producen son:

• Tamaño de Población: 500 individuos


• Ratio de cruces: 90 %
• Ratio de mutaciones: 3%
• Ratio de replicación: 7%
• Tipo de selección: Torneo.
Capítulo 5. Resultados en el Área de Hidrología 175

El árbol que genera la PG y que produce los mejores resultados se puede observar
en la Figura 81.

El resultado que mejor ajusta la predicción del caudal es la representada en la


Figura 80, donde los polos están situados en 0.5875, 0.08 + 0.552j y 0.08 + 0.5536j, y
los ceros en –0.5333 + 0.792j, -0.5333 – 0.792j, -0.0229 + 0.0946j y 0.0229 –0.0946j.

Figura 80. Diagrama de polos y ceros del sistema resultado.

Figura 81. Resultado del algoritmo de PG.


Capítulo 5. Resultados en el Área de Hidrología 176

Este sistema tiene como transformada en Z:

0.0347 + 0.0386 ⋅ z −1 + 0.0337 ⋅ z −2 + 0.0018 ⋅ z −3 + 0.0005 ⋅ z −4


H ( z) =
1 − 1.3507 ⋅ z −1 + 0.8578 ⋅ z − 2 − 0.4293 ⋅ z −3 + 0.1109 ⋅ z − 4

Ecuación 32. Transformada en Z del resultado de la PG.

Y su respuesta al impulso unitario puede verse en la Figura 82

0.12

0.1

0.08

0.06

0.04

0.02

0
5 10 15 20

Figura 82. Respuesta al impulso unitario del sistema hallado.

Si el resultado (árbol o transformada en Z) se transforma en expresión matemática


se obtiene la siguiente función:

y(n) = 0.0347⋅ x + 0.0386⋅ x(n − 1) + 0.0337⋅ x(n − 2) + 0.0018⋅ x(n − 3) + 0.0005⋅ x(n − 4)
+1.3507⋅ y(n − 1) − 0.8578⋅ y(n − 2) + 0.4293⋅ y(n − 3) − 0.1109⋅ y(n − 4)

Ecuación 33. Función de la transformada en Z.

Esta expresión produce un ECM de 0. 0001 y un EM de 0. 0052 sobre los datos de


validación. En la Figura 83 se puede observar la comparativa entre el caudal real y la
predicción obtenida sobre los datos de validación.
Capítulo 5. Resultados en el Área de Hidrología 177

1.2 Flow
Caudalrate
GP prediction
Predicción PG
1
Error
Error

0.8

0.6

0.4

0.2

Figura 83. Caudal y predicción de la expresión obtenida mediante PG (fichero de test).

5.4.2.3 Modelo de la escorrentía mediante Hidrograma Unitario SCS

Un modelo tradicional para resolver este problema sería, por ejemplo, el método
Soil Conservation Service (SCS) Unit Hydrograph. Es decir, el análisis de la respuesta a
través de los datos del impulso unitario, la respuesta que el sistema daría a 1 mm de
agua caída. Se podrían utilizar modelos basados en ecuaciones hidráulicas, mucho más
complejos y con un coste en tiempo de trabajo de un orden de magnitud muy distinto al
que aquí se plantea. Para la estimación de los parámetros se utiliza datos reales de la
cuenca usando el modelo HEC-HMS. Este no es el mejor hidrograma unitario para este
tipo de aplicación, y de hecho su uso en cuencas urbanas no es estrictamente correcto,
pero es ampliamente utilizado por los ingenieros debido a su simplicidad. Aunque los
resultados que produce no son óptimos, debido a que no está pensado para las cuencas
urbanas, se incluye como comparativa e indicativo de que no se deben utilizar los
modelos sin la consideración de sus limitaciones intrínsecas.

Se ha utilizado el software Hydrologic Modelling Systems (HEC-HMS) [HEC 07]


para la modelización. El objetivo es ajustar los diferentes parámetros para hacer
corresponder los valores de caudal medido utilizando únicamente los datos del
hietograma. Para esta comparativa hay que eliminar de la señal de caudal el residual
urbano y quedar únicamente con el relativo a los eventos de lluvia. En este caso el
Capítulo 5. Resultados en el Área de Hidrología 178

software no dispone de las utilidades necesarias para llevarlo a cabo, por lo que se
utiliza la RNA diseñada anteriormente. En cuanto a los parámetros se utiliza el método
de transformación “SCS Unit Hydrograph” sin método de cálculo del caudal base y sin
método de cálculo de pérdidas. Se introduce el área de la cuenca y el “lag time” (tiempo
que transcurre desde el centro de gravedad de la P neta hasta la punta del hidrograma,
valor que depende del tiempo de concentración y que es tlag=0.6 * tconcentración). Como el
tiempo de concentración es de 30 minutos, el valor de “lag time” es 18.

La Figura 84 muestra el resultado que produce el software con la configuración


previa para los datos de validación sin el caudal residual urbano.

Figura 84. Simulación con el software HEC-HMS el método SCS Unit Hydrograph (fichero de test).
Capítulo 5. Resultados en el Área de Hidrología 179

El mejor ajuste del SCS Unit Hydrograph produce un ECM de 0. 0011 y un EM


de 0.0184 sobre los datos de validación. En la Figura 85 se puede observar la
comparativa entre el caudal real y la predicción obtenida sobre los datos de validación.
Cabe resaltar que se ha tenido que incorporar a los datos obtenidos del HEC-HMS los
valores de caudal base correspondientes al caudal residual urbano incorporando una
función decreciente entre los eventos de lluvia para simular las pérdidas.

1.2 Caudal
Predicción SCS Unit Hydrograph
1
Error
0.8

0.6

0.4

0.2

Figura 85. Caudal y predicción empleando el método SCS Unit Hydrograph (fichero de test).

5.4.2.4 Respuestas al impulso unitario de los modelos

La respuesta al impulso unitario que producen los diferentes métodos utilizados se


pueden observar en la Figura 86. Como se puede comprobar, el hidrograma
correspondiente a la ecuación 3 de PG, es diferente a los otros modelos. Esto es debido
a que la función responde correctamente ante el pulso de lluvia pero la respuesta
posterior produce una bajada muy tenue y lenta (temporalmente), sin llegar a alcanzar
un valor de cero en un tiempo razonable. Como las predicciones se realizan a corto
plazo, este efecto no disminuye la capacidad predictiva del modelo. Los hidrogramas
producidos por las dos RR.NN.AA. recurrentes son muy similares, con una cierta
amplitud de respuesta al pulso y una bajada con el aspecto de una exponencial
decreciente. El hidrograma de la RNA con estrategia de ventana temporal es similar a
las dos anteriores pero con menos amplitud en el tiempo, y con un aspecto más cercano
Capítulo 5. Resultados en el Área de Hidrología 180

al hidrograma producido por el SCS HU. Por último, el hidrograma de la ecuación


obtenida por el método de filtros mediante PG es el más similar la SCS HU, tanto en
amplitud como espaciado temporal, evidenciando, como así se refleja en los valores de
ECM obtenidos, el comportamiento más satisfactorio para la modelización lluvia-
escorrentía del problema aquí presentado.
0.18
0.16 0.20
0.16
0.18
0.14 a) 0.14 b) 0.16
c)
0.12
0.12 0.14
0.10 0.12
0.10
0.08 0.10
0.08
0.06 0.08
0.06
0.06
0.04
0.04 0.04
0.02 0.02 0.02
0.00 0.00 0.00

0.14
0.14 0.14
0.12
d) 0.12 e) 0.12 f)
0.10
0.10 0.10
0.08 0.08
0.08
0.06 0.06 0.06

0.04 0.04 0.04

0.02 0.02 0.02

0.00 0.00 0.00

Figura 86. Métodos empleados: a) RNA con ventana temporal, b) RNAR 2(Pt), c) RNAR 3(Pt,Qt-1),
d) Ecuación 3 de PG, e) Filtros PG, f) SCS Hidrograma Unitario.

5.4.2.5 Resumen de resultados

La Tabla 14 muestra una comparación entre los diferentes modelos obtenidos,


evidenciando que la Programación Genética utilizando el modelado de filtros produce
resultados similares a la RNA con ventana temporal, y sin necesidad de conocer el
caudal previo. La PG utilizando la estrategia de ventana temporal y regresión simbólica
con las funciones aritméticas produce buenos resultados obteniendo una expresión
(ecuación 3) fácilmente interpretable por el experto humano. En cuanto a la RNA
Recurrente 1 (utilizando únicamente la información del pluviómetro), no produce tan
buenos resultados como la PG, sin embargo, al incorporarle el valor de caudal del
instante anterior, los resultados son similares a los mejores obtenidos (PG con filtros y
Capítulo 5. Resultados en el Área de Hidrología 181

RNA con ventana temporal), y en todos los casos mejor que el método tradicional del
Hidrograma Unitario SCS.

RNA RNA RNA RNA PG PG


SCS
Recurrente 1 Recurrente 2 Recurrente 3 ventana temporal ecuación 3 filtros
Pt, Pt-1, Pt-2, Pt-3, Pt, Pt-1, Pt-2,
Entradas Pt Pt Pt, Qt-1 Pt Pt
Pt-4, Pt-5, Qt-1 Qt-1
EM 0.0343 0.0415 0.0098 0.0101 0.0104 0.0052 0.0184
ECM 0.0037 0.0007 0.0003 0.0001 0.0003 0.0001 0.0011

Tabla 14. Comparación entre los diferentes métodos utilizados.

5.4.3 Diagrama del sistema


El sistema final, por tanto, admitirá dos entradas: la señal del pluviómetro y la
hora de medida de los diferentes puntos de esta señal. Los datos del pluviómetro son
tratados con la RNA (recurrente o alimentada hacia delante con ventana temporal) o
bien con la expresión que ha producido la PG, obteniendo una predicción del caudal
debido a la lluvia. Para obtener el caudal debido a la actividad humana y que tendrá
comportamiento diario, a partir de la hora, se genera, utilizando una RNA alimentada
sólo hacia delante, la predicción de caudal. El siguiente paso es sumar ambas señales
(predicción de caudal diario producido por la RNA y la predicción de caudal debido a la
lluvia producido por la RNA o por la expresión obtenida de la PG). De esta suma se
obtiene la predicción de caudal que tendrá la cuenca en un momento determinado y se
podrá utilizar para determinar condiciones de alarma por inundación, etc. En la Figura
87 se puede observar el diagrama de funcionamiento del sistema completo.
Capítulo 5. Resultados en el Área de Hidrología 182

Predicción de
caudal diario
Hora RNA

H(z)
+ Predicción
de caudal
Pluviómetro PG

o Predicción de
caudal por lluvia

Caudal + RNA

Figura 87. Funcionalidades generales del sistema.

En la Figura 88 se puede observar la comparativa entre la predicción del sistema


completo y los valores obtenidos de caudal. Como se puede observar, el sistema es
capaz de predecir las condiciones de caudal residual urbano y las respuestas ante los
eventos de lluvia de forma satisfactoria.

2.5 M3/s
Caudal
Predicción
2 Error

1.5

0.5

Figura 88. Ejemplo de funcionamiento del sistema completo.


Capítulo 5. Resultados en el Área de Hidrología 183

5.5 Consideraciones
Como se puede observar en los resultados obtenidos, la predicción de caudal del
sistema utilizando técnicas de Inteligencia Artificial aproxima de forma satisfactoria los
caudales reales, mejorando los modelos clásicos de hidrología y permite automatizar
todo el proceso.

Uno de los aspectos que hacen mejorar los resultados con respecto a los modelos
clásicos es el hecho de modelizar el caudal diario debido a los habitantes de la ciudad.
Hecho este, que los modelos clásicos no tienen en cuenta, y que en el sistema aquí
presentado se realiza utilizando una RNA donde como entrada es la hora de la medida
tomada, y la salida que produce es la predicción de caudal de agua que la red de
saneamiento recibirá debido a los ciudadanos. Para la aplicación del modelo de
hidrología SCS HU se ha necesitado la RNA para el tratamiento del caudal residual
urbano que se incorpora dentro del modelo como caudal base.

Como se puede observar en los resultados obtenidos, la utilización de las redes


neuronales, ya sea con arquitectura alimentada sólo hacia delante con estrategia de
ventana temporal o con arquitectura recurrente, o bien la PG (ya sea utilizando la
técnica de filtros o la regresión simbólica mediante funciones aritméticas) para
modelizar el caudal de escorrentía de una cuenca, demuestran y manifiestan un
comportamiento satisfactorio, mejorando los modelos clásicos de hidrología.

En cuanto a las diferentes técnicas empleadas se tiene que utilizando una RNA
recurrente se pueden obtener buenos resultados de una forma automática y sin
necesidad de conocer información adicional acerca de la cuenca (como el tiempo de
concentración), simplemente a partir de información experimental de patrones lluvia-
caudal de escorrentía se puede generar un modelo de predicción entrenando una RNAR
como las presentadas en esta tesis. En cuanto a una RNA alimentada sólo hacia delante,
se pueden mejorar los resultados con respecto a la anterior si se incorpora el valor real
de caudal anterior y una ventana temporal de información pluviométrica (de tamaño
igual al tiempo de concentración de la cuenca). Con esta aproximación, el proceso de
Capítulo 5. Resultados en el Área de Hidrología 184

desarrollo es menos automático, precisa identificar el tiempo de concentración de la


cuenca y es necesario incorporar un sensor de caudal de forma permanente para
suministrar el valor de escorrentía actual a la RNA. Mediante la aproximación de PG
utilizando regresión simbólica con funciones aritméticas, se puede obtener una
expresión con un ajuste y una simplificación controlable por el usuario que permite
producir una ecuación matemática representativa del proceso de modelización. Sin
embargo, al igual que en el caso anterior, el sistema es menos automático, se precisa
identificar el tiempo de concentración para componer la ventana temporal, necesita el
valor real de caudal de escorrentía de un sensor y el hidrograma unitario que genera se
aleja de lo idóneo. Finalmente, mediante la aproximación de PG utilizando la técnica de
filtros, se obtiene el sistema deseable, sólo precisa el hietograma para producir las
predicciones de escorrentía y no necesita información adicional de la cuenca como los
casos anteriores. Además, el ajuste de predicción de escorrentía obtenido para el caso de
estudio presentado es el mejor de todos, siendo además, la forma del hidrograma
unitario, la más representativa del proceso.

Como conclusión final, según los resultados mostrados, se obtiene que el sistema
que mejores resultados produce es un sistema híbrido que combina una RNA
alimentada sólo hacia delante para la predicción del caudal diario y la PG con técnica de
filtros para la predicción de caudal de escorrentía derivado de eventos de lluvia.
“Que algo no funcione como tú
esperabas no quiere decir que sea
inútil.”

Thomas A. Edison

CAPÍTULO
6 CONCLUSIONES

En la Ingeniería Civil existen numerosas situaciones en las que el ingeniero


necesita una serie de formulaciones para el análisis de fenómenos del mundo real,
siendo una de las tareas más cruciales el desarrollo de modelos que permitan estudiar el
comportamiento de esos fenómenos. Estas situaciones se producen en ámbitos, por
ejemplo, como la hidrología y la construcción, de los cuales, en esta tesis, se analiza una
aplicación para cada uno de ellos. En la presente tesis se da una visión conjunta de
cómo poder afrontar estos retos de una forma diferente a las tradicionales, utilizando
técnicas informáticas recientes procedentes de la Inteligencia Artificial.

Algunas técnicas existentes en la Inteligencia Artificial poseen los conceptos y los


métodos de inferencia y extracción de conocimiento necesarios para el análisis de
sistemas complejos que son difíciles de modelar o representar. Un modelo es una
representación matemática de un fenómeno o evaluación de un fenómeno en el mundo
real. El diseño de un modelo que pueda ser expresado por números es tomado como un
subconjunto seleccionable de un conjunto de datos obtenidos del fenómeno. El
Capítulo 6. Conclusiones 186

modelado de fenómenos de gran complejidad o de análisis complejo es difícil de


realizar.

En la Ingeniería Civil, en muchos casos, la forma en la que se obtienen modelos


de funcionamiento es basándose en la experiencia y en la obtención de datos de
ensayos. Los expertos intentan extraer el conocimiento de estos datos en forma de
ecuaciones y expresiones matemáticas, que en algunos casos, finalmente se traducen en
normativas que regulan los futuros diseños. Este patrón de comportamiento es, en cierta
medida, similar al proceso de aprendizaje de un ser humano, y como tal, en él se pueden
aprovechar las técnicas de Inteligencia Artificial que emulan este comportamiento. En
esta tesis se da una nueva visión en la resolución de problemas en la Ingeniería Civil
explorando el desarrollo de sistemas informáticos que combinan técnicas tan diferentes
como son las Redes de Neuronas Artificiales, los Algoritmos Genéticos y la
Programación Genética. Estas técnicas tienen, como punto común, la búsqueda de
soluciones en espacios grandes y complejos, donde se requiere gran capacidad de
adaptación y el trabajo con datos reales. La teórica potencia de estas técnicas se solapa
al hecho, muy habitual, de que los datos en muchos casos pueden ser incompletos,
imprecisos, inconsistentes o inciertos.

Se muestra una metodología para el diseño, la implementación y la demostración


de la aplicabilidad de los Sistemas Conexionistas y la Computación Evolutiva a la
Ingeniería Civil. Para ello se ha desarrollado una herramienta informática que permite al
ingeniero la aplicación de estas técnicas en diversos campos de una forma cómoda y
práctica sin necesidad de un conocimiento profundo de estas técnicas informáticas (ver
manual de usuario de dicha aplicación en el anexo del presente documento).

En cuanto a la utilización de la herramienta desarrollada y su aplicación a dos


casos en el área de construcción e hidrología se pueden realizar las siguientes
conclusiones.

Dentro del área de la construcción, uno de los problemas que se le plantean al


ingeniero civil se centra en el campo de la adherencia entre el hormigón y el acero. Esta
Capítulo 6. Conclusiones 187

capacidad adherente es vital a la hora de que funcionen de forma conjunta, posibilitando


la resistencia y la durabilidad de las estructuras de hormigón. El planteamiento de la
formulación de adherencia para hormigón armado se suele diseñar en función de la
longitud de anclaje necesaria para conseguir el correcto anclaje de la barra. Actualmente
no existen formas de determinar analíticamente la longitud de anclaje, por lo que se
emplean distintas aproximaciones normativas basadas en desarrollos teóricos y, sobre
todo, en ensayos de laboratorio.

En este caso se ha obtenido una solución mediante técnicas evolutivas y técnicas


conexionistas al problema del cálculo o determinación de las longitudes de anclaje de
armaduras pasivas de acero en vigas de hormigón armado. Partiendo de un conjunto de
ensayos extenso, se ha obtenido una RNA y una expresión que predice con gran
precisión. Mediante la RNA se ha podido obtener un alta capacidad de predicción (0.96
de coeficiente de correlación) aunque, desde el punto de vista del ingeniero civil, el no
poder explicar o entender los valores que produce (efecto caja negra) es un obstáculo
para su utilización. Al emplear PG, en cambio, debido a la codificación en árbol de los
individuos, la expresión se puede manipular para obtener una fórmula para la longitud
de anclaje, susceptible de compararse con las normativas nacionales e internacionales
existentes.

Tal como se ha indicado, a partir de esta expresión, se ha despejado una fórmula


para determinar la longitud de anclaje, problema que en la actualidad es difícilmente
abordable debido a que influyen muchas variables distintas. La fórmula obtenida
mediante el proceso evolutivo está validada en cuanto a su capacidad predictiva del
comportamiento en distintos ensayos con hormigones de resistencias distintas, y
presenta una alternativa a las formulaciones normativas existentes que determinan la
longitud de anclaje. Como se ha observado, estas normativas no están de acuerdo en los
parámetros utilizados, provocando disparidad en los tratamientos.

La fórmula inducida se ha comparado con estas normativas mediante la base de


datos que incluye hormigones de alta resistencia. De esta comparación se deduce que la
expresión genética es la que tiene un nivel de ajuste mejor.
Capítulo 6. Conclusiones 188

Además, la expresión obtenida, desde el punto de vista normativo, se ajusta a las


características de las demás normas utilizadas actualmente, porque involucra todas las
variables utilizadas en ellas, incluyendo las mismas pautas de adimensionalidad en las
operaciones aritméticas involucradas. A su vez incorpora un buen grado de seguridad
62.1% en las predicciones realizadas, aspecto muy importante para el ingeniero
encargado del diseño de las estructuras. Aunque, para ser afrontado como normativa
final, la expresión final es compleja y en ciertos aspectos, poco comprensible desde el
punto de vista de ingeniería. Por lo que es necesario seguir mejorando los parámetros
del algoritmo para alcanzar una expresión más sencilla, pero con el mismo
comportamiento que la obtenida.

Dentro del área de la hidrología, el desarrollar un modelo de transformación


lluvia-escorrentía en una cuenca hidrográfica permite pronosticar el riesgo de las
condiciones de lluvia para la cuenca y dar alarma para proteger la población ante
inundaciones. El objetivo de los ingenieros, en este caso, es construir un sistema
autónomo y que se adapte continuamente a las características del terreno, capaz de
realizar predicciones en tiempo real de los diferentes cambios de nivel del agua de la
cuenca producidos por la lluvia.

En este caso, se realiza la modelización mediante las RR.NN.AA. y la PG. Se


muestra cómo estas dos técnicas pueden trabajar conjuntamente para resolver el
problema de la predicción del caudal de una cuenca urbana. Como se puede observar en
los resultados obtenidos, la predicción de caudal del sistema propuesto aproxima de
forma satisfactoria los caudales reales, mejorando los modelos clásicos de hidrología y
automatizando todo el proceso.

Uno de los aspectos que hacen mejorar los resultados con respecto a los modelos
clásicos es el hecho de modelizar el caudal diario debido a los habitantes de la ciudad,
que en el sistema aquí presentado se realiza utilizando una RNA donde como entrada de
la misma es la hora, y la salida que produce es la predicción de caudal de agua que la
red de saneamiento recibirá debido a los ciudadanos en ese instante temporal del día.
Capítulo 6. Conclusiones 189

Como se puede observar en los resultados obtenidos, la utilización de la PG para


modelizar el caudal de escorrentía de una cuenca demuestra y manifiesta un
comportamiento satisfactorio mejorando los modelos clásicos de hidrología.

Como conclusión final se puede exponer que el uso de métodos de predicción que
no están basados en ecuaciones físicas, como las RR.NN.AA. y la Computación
Evolutiva, están tomando un importante auge en el campo de la ingeniería civil, y los
procesos tratados en concreto en esta tesis son aptos para este tipo de técnicas. Los
métodos basados en Inteligencia Artificial permiten sistematizar la información de
campo para tener capacidad predictiva. Dado un fenómeno sobre el que se ha trabajado
(se ha instrumentado y se ha medido), se puede llegar a una formulación sólida que
permita explicar la dinámica del mismo.

Este tipo de métodos de predicción no tienen base conceptual, sólo intentan


producir una formulación que puede ser utilizada como herramienta de predicción. Una
RNA es un sistema de procesado de información que está fundamentado en
concepciones biológicas del cerebro humano y la biología neuronal. Una RNA funciona
como una caja negra, produciendo salidas en función de las entradas que recibe. Una
RNA puede “aprender” cómo modelizar un proceso. Se ha demostrado que esta
capacidad de predicción puede ser muy alta. Pero los ingenieros están acostumbrados a
trabajar con ecuaciones y fórmulas matemáticas, y no confían demasiado, hasta ahora,
en los métodos de caja negra que no producen y no pueden producir una justificación de
sus resultados. Por lo que prefieren algo más estructurado y con expresiones
matemáticas. La Programación Genética podría situarse en una posición intermedia
entre los métodos de caja negra (RNA) y los métodos basados en modelos físicos,
pudiendo comportarse como se desee, si bien obteniendo resultados que podrían
acercarse a los métodos de caja negra, o resultados con claras formulaciones
matemáticas. La PG es capaz de producir una solución en términos matemáticos, es
decir, una ecuación, pero el método para su obtención está fuertemente condicionado
por los datos empíricos, al igual que una RNA. Además se puede fijar o no la estructura
y la complejidad de las ecuaciones obtenidas. Los resultados, por tanto, pueden ser
Capítulo 6. Conclusiones 190

analizados y hasta extrapolados, pero este análisis es distinto a lo que hacen


normalmente los ingenieros, principalmente porque la ecuación obtenida no tiene
ninguna base física.
“La ausencia de prueba no es
prueba de ausencia”

Carl Sagan

CAPÍTULO
7 FUTUROS DESARROLLOS

Quizás uno de los aspectos más destacables a desarrollar sobre el algoritmo de


extracción expuesto sea la inclusión de un módulo de optimización inteligente de las
expresiones y las reglas a obtener. Este proceso de optimización sería “a posteriori” y
quizás se pueda basar en algún método de tipo “hill-climbing”. Aunque se ha
implementado un algoritmo de optimización embebido en la PG penalizando el nivel de
ajuste de los individuos por su tamaño, las expresiones obtenidas siguen siendo en
algunos casos bastante complejas.

En cuanto a la aplicación sobre distintas situaciones en el ámbito de la Ingeniería


Civil, cabe resaltar que las herramientas presentadas en esta tesis intentar ser lo más
generalistas posible, intentando ser comunes a diferentes tipos de situaciones. Sin
embargo, esto conlleva cierta pérdida de eficacia a la hora de aplicarlas sobre casos
reales, y en cierto modo, el ajuste final obtenido para la solución también estará en
cierta manera mermado. Sin embargo, la técnica de PG, como se probado en el área de
la hidrología, permite reformular el algoritmo y sus condiciones de contorno según sea
Capítulo 7. Futuros Desarrollos 192

el caso particular a aplicar, por lo que se debe continuar en esta línea y desarrollar o
mejorar esta técnica de modelización adaptándola a cada caso particular. De esta forma,
se podrá descubrir el auténtico potencial que esta técnica de la Inteligencia Artificial
permite en los diferentes ámbitos de la Ingeniería Civil.

Una adaptación al ámbito de la construcción, y concretamente a la modelización


de la adherencia sería el poder integrar dentro del algoritmo un cierto Sistema Experto
que sea capaz de evaluar el tipo de expresiones obtenidas por el sistema en aras de
poder obtener de forma directa expresiones entendibles por el ingeniero. Además sería
aconsejable introducir como parte de los operadores y funciones dentro del propio
algoritmo las actuales formulaciones normativas, o parte de ellas. De esta forma se
podrá utilizar el sistema para la mejora o adaptación de las normativas actuales. Este
puede ser un punto importante dentro de esta área puesto que permitiría desarrollar un
sistema autoadaptativo que podría refinar y acondicionar la fórmula a medida que se
van incluyendo nuevos casos de ensayo.

Otro punto importante, dentro del área de la hidrología, y relativo al caso expuesto
en la presente tesis, sería, al igual que en la situación anterior, poder incorporar dentro
del propio algoritmo las formulaciones existentes en el área para este tipo de problemas,
pudiendo, por ejemplo, incluir las ecuaciones de Saint-Vennant, o parte de ellas. De esta
forma el algoritmo se acercaría mucho más al ámbito conceptual que al de caja negra,
favoreciendo la interpretación final de los resultados por parte del ingeniero.

De esta manera el experto podría incorporar su conocimiento del problema al


algoritmo, y éste realizaría la ardua tarea de búsqueda sobre unos ciertos fundamentos
físicos y con ciertas garantías de poder aportar resultados entendibles por el propio
experto, por lo que se favorecería, tanto la utilización del sistema, como el poder
descubrir relaciones existentes que el experto no se podría imaginar, desencadenando
una cierta interacción experto-algoritmo que redundaría en considerables mejoras en la
modelización del fenómeno.
Capítulo 7. Futuros Desarrollos 193

El sistema desarrollado en la presente tesis sería aplicable a otras situaciones


dentro de la Ingeniería Civil, que el doctorando espera aplicar en breve. Algunas de
estas situaciones serían:

¾ Ingeniería de la Construcción: La deformación total producida en un


elemento de hormigón es suma de diversas deformaciones parciales,
englobándose en el concepto de fluencia todas las deformaciones diferidas,
elásticas y plásticas, que dependen de la tensión. Para una evaluación
aproximada de la fluencia habrían de tenerse en cuenta las diversas variables
que influyen en el fenómeno, en especial: el grado de humedad ambiente, el
espesor o menor dimensión de la pieza, la composición del hormigón, la edad
del hormigón en el momento de su entrada en carga y, naturalmente, el tiempo
transcurrido desde ese momento, lo que marca la duración del fenómeno. Para
estimar la fluencia del hormigón, concepto fundamental cuando se trata de
estructuras singulares (presas, grandes puentes, edificios, etc.) con cierta edad,
se realiza, al igual que la adherencia, tema tratado en la presente tesis, una
formulación matemática para estimar su efecto, como por ejemplo la que
aparece en la EHE. Y al igual que en adherencia, las normativas para obtener
las deformaciones diferidas de origen tensional del hormigón tienen una base
empírica. Su calibración está realizada a partir de ensayos de laboratorio sobre
probetas de hormigón sometidas a compresión, por lo que se puede aplicar,
inicialmente, el mismo sistema desarrollado en la presente tesis y
posteriormente modificar la estructura de operadores para refinar la búsqueda
del ajuste ideal a los ensayos obtenidos.

¾ Ingeniería Sanitaria y Ambiental: Así como los modelos convencionales


suelen dar buenos resultados en la evaluación de parámetros cuantitativos
como la estimación de caudales, la estimación de cargas contaminantes y los
procesos reactivos de éstas están muy lejos de poder ser evaluadas con
fiabilidad. En el ámbito de transporte de sustancias contaminantes (reactivas o
no) en cuencas y cauces, los modelos convencionales tienen márgenes de
Capítulo 7. Futuros Desarrollos 194

error muy grandes y su coste es enorme. La simulación del transporte de


solutos contaminantes puede constituir una herramienta importante para la
predicción de la evolución de los mismos en el medio y el control de
contaminación del agua. La aplicación de métodos de computación evolutiva
al análisis del movimiento de sólidos en suspensión, evolución de parámetros
como la DBO, DQO, ciclos del N o del P, etc., puede producir resultados muy
esperanzadores.

¾ Puertos y Costas: En este caso se pretende realizar un modelo para la


predicción del daño producido por el oleaje en un dique. Los ensayos de
estabilidad se encargan de estudiar el daño provocado por el oleaje sobre el
dique, el resultado de estos ensayos son dados en términos de grado de daño,
número de piedras desprendidas y el área dañada sobre el talud del dique. Para
ello se centrará el estudio en los problemas de estabilidad de diques, donde
hasta el momento sólo se han realizado modelos matemáticos a partir del
estudio de datos experimentales. El modelo utilizado actualmente es el
propuesto por Jentsje W. Van der Meer [Van 88], en su tesis “Rock Slopes
and Gravel Beaches under Wave Attack”, en el cual se realiza un estudio de
variables que influyen en el daño del dique marino, y propone un método de
estimación. En este caso, se puede aportar un nuevo enfoque a este problema
de estabilidad usando, por un lado una RNA y posteriormente el algoritmo de
extracción de expresiones, y realizando un estudio completo para conocer cual
es la técnica que mejor se adapta a este problema.
“Quienes no escriben no saben
lo bonito que es escribir.”

Ana Frank

CAPÍTULO
8 BIBLIOGRAFÍA

[AAFJ 97] Aafjes, J., Hendriks, L.J., Verberne, A.J., Vingerhoeds, R.A. Voorspellen
van het drinkwaterverbruik met een neuraal netwerk.. H2O vol. 30. Nº
15, pág. 484-487, 1997.

[ABRA 13] Abrams D. A.: Tests of Bond Between Concrete and Steel. University of
Illinois Bulletin n. 71, University of Illinois, 1913.

[ACI 99] ACI (American Concrete Institute). ACI Building Code Requirements
for Reinforced Concrete. ACI 318-99, 1999.

[AGUI 98] Aguiar H.C., Maciel R., “Modeling and optimization of pulp and paper
process using neural networks”, Comp.Chem.Eng., vol. 22, pág. 981-984
1998.
Capítulo 8. Bibliografía 196

[AGUI 99] Aguirre H.E., Tanaka K., Sugimura T.: “Cooperative crossover and
mutation operators in genetic algorithms”, Proceedings of the Genetic
and Evolutionary Computation Conference, GECCO-99, Morgan
Kaufmann, pág. 772, Orlando, Florida, 1999.

[ALTI 98] Altissimi R.: “Optimal operation of a separation plant using artificial
neural networks”, Comp.Chem.Eng., vol. 22, pág. 939-942, 1998.

[ANDR 95] Andrews R. Diederich J. & Tickle A. “A Survey and Critique of


Techniques For Extracting Rules From Trained Artificial Neural
Networks”. Knowledge Based Systems 8, páginas 373-389, 1995.

[ANGE 96] Angeline P.J.: “Two self-adaptive Crossover Operators for Genetic
Programming”, Advances in Genetic Programming 2, MIT Press, pág.
89-110. Cambridge, MA, USA, 1996.

[ARCI 01] Arciszewski T., De Jong K. A.: Evolutionary computation in civil


engineering: research frontiers. Civil and structural engineering
computing, pág 161-184, 2001.

[ATIY 99] Atiya A., El-Shoura S., Shaheen S., and El-Sherif M. A comparison
between neural-network forecasting techniques. Case study: River flow
forecasting. IEEE Transactions on Neural Networks, vol. 10, pág. 402-
409, 1999.

[BÄCK 00] Bäck T., Fogel D.B., Michalewicz Z.: “Evolutionary Computation”,
Institute of Physics Publishers, 2000.

[BAKE 87] Baker J.E.: “Reducing Bias and Inefficiency in the Selection Algorithm.
Genetic Algorithms and their Applications”, Proceedings of the Second
International Conference on Genetic Algorithms, Lawrence Erlbaum
Associates, pág. 14-22, Hillsdale, New Jersey, 1987.

[BLOC 97] Bloch G.: “Neural intelligent control for a steel plant”, IEEE Trans.
Neural Networks, vol. 8(4), pág. 910-917, 1997.
Capítulo 8. Bibliografía 197

[BOOK 82] Booker L.B.: “Intelligent Behavior as an Adaptation to the Task of


Environment”, Tesis, Universidad de Michigan, 1982.

[BOWD 03] Bowden G.J., Dandy G.C., Maier H.R. Data transformation for neural
network models in water resources applications. Journal of
Hydroinformatics. 5(4), pág. 245-258. 2003.

[BRIN 81] Brindle A.: “Genetic Algorithms for Function Optimization”, Tesis,
Universidad de Alberta, 1981.

[BURK 60] Burks A. W.: “Computation, behavior and structure in fixed and growing
automata”, Yovits M.C., Cameron S. editors, Self-Organizing Systems,
Pergamon Press, pag. 282-309, New York, 1960.

[CAGI 98] Cagiao, J, Díaz-Fierros, T, Suárez, J, Puertas, J, 1998. A numerical and


experimental model of an urban catchment in the north of Spain:
parameter fitting and an analysis of its behaviour. Urban Drainage
Modelling Conference (UDM)’98, Londres. 1998.

[CANC 02] Cancelliere A., Giuliano G., Ancarani A., Rossi G. “A neural networks
approach for deriving irrigation reservoir operating rules”. Water
Resources Management. Vol. 16, pág. 71 – 88. 2002.

[CARR 96] Carriere, P.S. Mohaghegh, R. Gaskari. “Performance of a Virtual Runoff


Hydrographic System”. Journal of Water Resources Planning and
Management, Vol. 122, No 6. pág. 421-427. 1996.

[CHAM 52] Chamberlin S. J. Spacing of Spliced Bars in Tension Pull-Out


Specimens. ACI-Journal, pág. 261-274, Detroit,1952.

[CHEL 97] Chellapilla K.: “Evolutionary programming with tree mutations:


Evolving computer programs without crossover”, Genetic Programming
1997: Proceedings of the Second Annual Conference, Morgan
Kaufmann, pág. 431-438, Stanford University, CA, USA, 1997.
Capítulo 8. Bibliografía 198

[CHIN 55] Chinn J., Ferguson P.M., Thompson J.N. Lapped Splices in Reinforced
Concrete Beams, ACI Journal 52(15), pág. 201-213, Detroit, 1955.

[CRAM 85] Cramer N.L.: “A Representation for the Adaptive Generation of Simple
Sequencial Programs”, Grefenstette J.J. editor, Proceedings of the First
International Conference on Genetic Algorithms and Their Applications,
Lawrence Erlbaum Associates, pág. 183-187, Hillsdale, New Jersey,
1985.

[CVET 99] Cvetkovic, D., Parmee, I.C.: Genetic algorithms based systems for
conceptual engineering design. Proceedings of the 12th International
Conference on Engineering Design ICED'99, volume 2, 1035-1038,
München, Germany, 1999.

[DARW 59] Darwin C. “On the origin of species by means of natural selection or the
preservation of favoured races in the struggle for life”. Cambridge
University Press, Cambridge, UK, sixth edition, 1864, originally
published in 1859.

[DARW 95] Darwin C. “Teoría de la evolución”, Ed. Barcelona Península, 2ª edición,


1995.

[DARW 96] D. Darwin, Zuo Z., Tholen M.L., Idun E.K. “Development length criteria
for conventional and high relative rib-area reinforcing bars”. ACI
Structural Journal, 93(3), pág. 347-359. 1996.

[DEJO 75] De Jong A.K.: “An Analysis of the Behavior of a Class of Genetic
Adaptive Systems”, Tesis, Universidad de Michigan, 1975.

[DEMU 94] Demuth, H., Beale M.: “Neural network toolbox. User’s guide”, The
MathWorks Inc., 1994.

[DEVR 91] DeVries R.A., Moehle J.P., Hester W. Lap Splice Strength of Plain and
Epoxy-Coated Reinforcement. Report No. UCB/SEMM-91/02,
University of California, Berkeley, California, 1991.
Capítulo 8. Bibliografía 199

[DIBI 99] Dibike Y. B., Solomatine D., Abbott M. “On the encapsulation of
numerical hydraulic models in artificial neural network”. Journal of
Hydraulic Research. Vol. 37, pág. 147 – 161. 1999.

[DORA 02] Dorado, J., Rabuñal, J. R., Puertas, J., Santos, A., Rivero, D.: Prediction
and Modelling of the Flow of a Typical Urban Basin Through Genetic
Programming. Applications of Evolutionary Computing, Proceedings of
EvoWorshops 2002: EvoCOP, AvoIASP, EvoSTIM/EvoPLAN. 2002.

[EH 82] EH-82. Instrucción para el proyecto y la ejecución de obras de hormigón


en masa o armado, Ministerio de Obras Públicas y Transportes, Madrid,
1982.

[EH 98] EH-98. Instrucción para el proyecto y la ejecución de obras de hormigón


en masa o armado, Ministerio de Fomento, Madrid, 1998.

[EHE 07] EHE-07. Consulta en Internet versión preliminar:


http://www.fomento.es/MFOM/LANG_CASTELLANO/DIRECCIONES_GENERALES/
ORGANOS_COLEGIADOS/CPH/instrucciones/EHE2007/.

[EURO 02] EUROCODE 2 (European Committee for Standarization). Design of


Concrete Structures, Revised final draft, Abril 2002.

[FARA 98] Faraway J., Chatfield, C. Time series forecasting with neural networks: a
comparative study using the airline data. Journal of Applied Statistics.
Vol. 47, pág. 231-250. 1998.

[FERG 62] Ferguson P. M., Thompson J. N. Development Length of High Strength


Reinforcing Bars in Bond. ACI-Journal, pág. 887-922, Detroit, 1962.

[FERG 65a] Ferguson P.M., Breen J.E. Lapped Splices for High Strength Reinforcing
Bars. ACI-Journal, pág. 1063-1078, Detroit, 1965.

[FERG 65b] Ferguson P.M., Breen J.E., Thompson J.N. Pull-Out Tests on High
Strength Reinforcing Bars. ACI-Journal, pág. 933-950, Detroit, 1965.
Capítulo 8. Bibliografía 200

[FERG 69] Ferguson P. M., Briceno E. A. Tensile lap splices - Part 1: Retaining wall
type, varying moment zone. Research Report 113-2, Center for Highway
Research, University of Texas, Austin, 1969.

[FERN 98] Fernando, D.A.K., Jayawardena A. W. “Runoff Forecasting Using RBF


Networks with OLS Algorithm”. Journal of Hydrologic Engineering,
3(3) pág. 203-209. 1998.

[FLOO 01] Flood I.: Neural Networks in Civil Engineering. Civil and structural
engineering computing, pág. 185 – 209. 2001.

[FOGE 64] Fogel L.J.: “On the organization of Intellect”, Tesis, Universidad de
California, Los Angeles, California, 1964.

[FREE 93] Freeman James A. and Skapura David M.: “Neural Networks”. Ed.
Addison-Wesley, 1993.

[FREN 92] French M., Krajewski W., Cuykendall R. “Rainfall forecasting in space
and time using a neural network”. Journal of Hydrology. Vol. 137, pág. 1
– 31. 1992.

[FRIE 59] Friedberg R.M., Dunham B., North J.H.: “A Learning Machine: Part II”,
IBM Journal of Research and Development, vol. 3, pág. 282-287, 1959.

[FUCH 98] M. Fuchs. Crossover Versus Mutation: An Empirical and Theoretical


Case Study. 3rd Annual Conference on Genetic Programming, Morgan-
Kauffman, 1998.

[FUJI 86] Fujiki C.: “An Evaluation of Holland’s Genetic Operators Applied to a
Program Generator”, Tesis, Universidad de Idaho, Moscow, Idaho, 1986.

[GARR 03] Garrote L., Molina M., Blasco G. “Application of bayesian networks to
Real-Time flood risk estimation”, Geophysical Research Abstracts, Vol
5, pág. 13171, 2003.

[GOLD 89] Goldberg D.E. “Genetic Algorithms in Search, Optimization and


Machine Learning”, Addison-Wesley Reading, MA. 1989.
Capítulo 8. Bibliografía 201

[GONZ 98] González-García R., Rico-Martínez R., Kevrekidis G.: “Identification of


distribuid parameter systems: A neural net based approach”,
Comp.Chem.Eng, vol. 22, pág. 965-968, 1998.

[GOVI 00a] Govindaraju, R. S. “Artificial Neural Networks in Hydrology. I:


Preliminary Concepts”. J. Hydrologic Engineering., Volumen 5, Nº 2,
pág. 115-123. 2000.

[GOVI 00b] Govindaraju, R. S. “Artificial Neural Networks in Hydrology. II:


Hydrologic Applications”. J. Hydrologic Engineering., Volumen 5, Nº 2,
pág. 124-137. 2000.

[GOVI 00c] Govindaraju, R. S. and Rao, A. R. 2000. “Artificial Neural Networks in


Hydrology”. Water Science and Technology Library. Vol 36. Kluwer
Academic Publishers.

[HEC 07] Página Web del desarrollador del software HEC-HMS:


“http://www.hec.usace.army.mil/software/hec-hms/”. Último acceso en
septiembre de 2007.

[HERN 93] Hernández P.J.: “Redes neuronales en la industria química”, Ing. Quim.,
vol. 8, pág. 37-41, 1993.

[HEST 93] Hester C. J., Salamizavaregh S., Darwin D., McCabe S.L. Bond of
Epoxy-Coated Reinforcement: Splices. ACI Structural Journal,V. 90(1),
pág. 89-102, 1993.

[HICK 86] Hicklin J.F.: “Aplication of the Genetic Algorithm to Automatic Program
Generation”, Tesis, Universidad de Idaho, Moscow, Idaho, 1986.

[HILE 95] Hilera J.R., Martínez V.J.: "Redes neuronales artificiales. Fundamentos,
modelos y aplicaciones", Addison-Wesley Iberoamericana S.A., España,
1995.

[HJEL 96] Hjelmfelt, A. T., M. Wang. “Predicting Runoff Using Artificial Neural
Networks. Surface Water Hydrology”. pág. 233-244. 1996.
Capítulo 8. Bibliografía 202

[HOLL 75] Holland J. H.: “Adaptation in Natural and Artificial Systems”. Ann
Arbor: The University of Michigan Press, 1975.

[HOLL 92] Holland J. H.: “Algoritmos Genéticos”, revista Investigación y Ciencia,


pág. 38-45. 1992.

[HOLL 95] Holland J. H.: “Redes de Neuronas Artificiales y Algoritmos Genéticos”,


Curso impartido en la Facultad de Informática da Universidade da
Coruña, 25 Abril-11 Mayo 1995.

[HSIE 99] Hsieh, B., Bartos, C., Zhang, B. Use of Artificial Neural Networks in a
streamflow prediction system. Proceedings of Artificial Neural Networks
in Engineering ANNIE’99. St. Louis, Missouri. 1999.

[HSU 95] Hsu K, Gupta H. V., Sorooshian S. “Artificial neural network modeling
of the rainfall – runoff process”. ASCE Water Resources. Vol. 31, pág.
2517 – 2530. 1995.

[HSU 98] Hsu K, Gupta H. V., Sorooshian S. “Streamflow Forecasting Using


Artificial Neural Networks”. ASCE Water Resources Engineering
Conference ’98, pág. 967-972. 1998.

[HSU 99] Hsu K, Gupta H. V., Gao X., Sorooshian S. “Estimation of physical
variables from multichannel remotely sensed imagery using a neural
network: application to rainfall estimation”. Water Resources. Vol. 35,
pág. 1605 – 1618. 1999.

[HUBE 92] Huber W.C. and Dickinson R.E.. Storm Water Management Model,
user´s manual, version 4. U.S Envir.Protection Agency, Athens, Ga,
1992.

[HYDR 95] Hydroworks. User Manual. Hydraulic Research Ltd. Wallingford. 1995.

[HYDR 07] Software modelización de cuencas fluviales. [Último acceso 03/09/2007]


URL disponible en: http://www.hydroworks.com/
Capítulo 8. Bibliografía 203

[IHE 06] IHE-STOWA joint research project [en línea] [Último acceso
16/11/2006] URL disponible en: http://www.stowa-nn.ihe.nl

[INFO 07] Software modelización de cuencas fluviales y urbanas. [Último acceso


03/09/2007] URL disponible en: http://www.wallingfordsoftware.com/

[JOYA 98] Joyanes, L., Zahonero I. “Estructura de Datos. Algoritmos, abstracción y


objetos”. Editorial McGraw-Hill. 1ª Edición, 1998.

[KAO 96] Kao J. J. “Neural net for determining DEM based model drainage
pattern”. Journal Irrigation and Drainage Engineering. Vol. 122, pág. 112
– 121. 1996.

[KARU 94] Karunanithi, N., Grenney W. J., Whiteley D., Bovee K. “Neural
Networks for River Flow Prediction”. ASCE Journal of Computing Civil
Engineering, 8(2), pág. 201-220. 1994.

[KEMP 86] Kemp, E., Mory, L. “Bond in reinforced concrete:behaviour and design
criteria”. Journal of American Concrete Institute. Vol. 1, pág. 50-57.
1986.

[KOHO 88] Kohonen, T.: “Self-Organization and Associative Memory”, Springer-


Verlag, New York, second edition, 1988.

[KOZA 89] Koza J. “Hierarchical Genetic Algorithms operating on Populations of


computer programs”. Proceedings of the 11th International Joint
Conference on Artificial Intelligence, páginas 768-774. Morgan
Kaufmann, San Mateo, California, 1989.

[KOZA 90] Koza J.R.: “Genetic Programming: A Paradigm for Genetically Breeding
Populations of Computer Programs to Solve Problems”, Technical
Report No. STAN-CS-90-314, Computer Sciences Department, Stanford
University, 1990.
Capítulo 8. Bibliografía 204

[KOZA 92] Koza J. “Genetic Programming. On the Programming of Computers by


means of Natural Selection”. The Mit Press, Cambridge, Massachusetts,
1992.

[KOZA 94] Koza J. “Genetic Programming II: Automatic Discovery of Reusable


Programs”. The Mit Press, Cambridge, Massachusetts, 1994.

[KOZA 96] Koza John R.: “Genetic Programming”, proceedings of the first annual
conference, University of Stanford, California, USA, 28-31 July, 1996.

[KOZA 97] Koza John R.: “Genetic Programming”, proceedings of the second
annual conference, University of Stanford, California, USA, 13-16 July,
1997.

[KOZA 99] Koza J., Forrest H. Bennett III, David Andre, Martin A. Keane. “Genetic
Programming III: Darwinian Invention and Problem Solving”. Morgan
Kaufmann Publishers, San Francisco, California, 1999.

[LEVI 93] Levin A.U., Narendra K.S.: “Control of nonlinear dynamical systems
using neural networks: Controllability and Stabilization”, IEEE Trans.
Neural Networks, vol. 4(2), pág. 192-206, 1993.

[LIBE 01] Liberali, V. and Rossi, R. Artificially Evolved Design of Digital Filters.
Workshop on Advanced Mixed-Signal Tools. Munich, 2001.

[LOKE 97] Loke, E, Warnaar, E.A, Jacobsen, P, Nelen, F., do Ceu Almeida, M.
Artificial Neural Networks as a Tool in Urban Storm Drainage. Water
Science and Technology, vol. 36, no. 8-9, pág. 101-109. 1997.

[LOON 97] Looney C.G. Pattern Recognition using Neural Networks: Theory and
Algorithms for Engineers and Scientists, Oxford University Press,
Oxford.

[LUKE 98] Luke, S., Spector, L. A Revised Comparison of Crossover and Mutation
in Genetic Programming, 3rd Annual Conference on Genetic
Programming. Morgan-Kauffman. 1998.
Capítulo 8. Bibliografía 205

[LUKE 00] Luke S.: “Two Fast Tree-Creation Algorithms for Genetic
Programming”, IEEE Transactions on Evolutionary Computation, 2000.

[MAIE 99] Maier H. R., Dandy G. “Empirical comparison of various methods for
training feedforward neural networks for salinity forecasting”. Water
Resources. Vol. 35, pág. 2591 – 2596. 1999.

[MASO 96] Mason J. C., Price R., Tem A. “A neural network model of rainfall
runoff using radial basis functions”. Journal of Hydrology. Vol. 34, pág.
537 – 548. 1996.

[MATH 61] Mathey R.G., Watstein D. Investigation of Bond in Beam and Pullout
Specimens with High-Yield-Strength Deformed Bars. ACI Journal
Proceedings V. 57(9), pág. 1071-1090, 1961.

[MCCL 43] McCulloch, W. S., Pitts, W. “A Logical Calculus of Ideas Immanent in


Nervous Activity”. Bulletin of Mathematical Biophysics. Vol. 5, pág.
115-133. 1943.

[MEER 98] Meert K., Rijckaert M.: “Intelligent modelling in the chemical process
industry with neural networks: A case study”, Comp.Chem.Eng., vol. 22,
pág. 587-593, 1998.

[MINN 98] Minns, A.W. Artificial Neural Networks as Subsymbolic Process


Descriptors. PhD thesis, Balkema, Rotterdam. 1998.

[MONT 95] Montana D.J.: “Strongly Typed Genetic Programming”, Evolutionary


Computation, The MIT Press, pág. 199-200, Cambridge, MA, 1995.

[MORS 98] Morshed J., Kaluarachchi J. “Parameter estimation using artificial neural
network and genetic algorithm for free product migration and recovery”.
Water Resour. Resources. Vol. 34, pág. 1101 – 1113. 1998.

[MURC 01] Murcia J., Aguado A, Martí A. R: Hormigón armado y pretensado, vol I
& II. Gustavo Gili, 2001.
Capítulo 8. Bibliografía 206

[OLLE 98] Oller C.A., Guidici R.: “Neural Network based approach for optimisation
applied to an industrial nylon-6, 6 polymerisation process”,
Comp.Chem.Eng., vol. 22, pág. 595-600, 1998.

[ORAG 77] Orangun C. O., Jirsa J. O., Breen J. A Re-evaluation of Test Data and
Development Length and Splices. Journal of American Concrete Institute
Nº 3, Vol. 74, pág. 114-122, 1977.

[PALA 04] Palazón J., García A. “Modelado de series climatológicas mediante una
red neuronal artificial”. Ingeniería del Agua. Vol. 11, nº 1, pág. 41-52.
2004.

[PAZO 96] Pazos Sierra Alejandro: “Redes de Neuronas Artificiales y Algoritmos


Genéticos”. Ed. Tórculo, La Coruña, 1996.

[PEAR 90] Pearlmutter B. A.: “Dynamic Recurrent Neural Networks”. Technical


Report CMU-CS pag. 88-191, School of Computer Science, Carnegie
Mellon Univ., 1990.

[PERE 99] Pereira F.B., Machado P., Costa E., Cardoso A.: “Graph based
crossover-A case study with the busy beaver problem”, Proceedings of
the Genetic and Evolutionary Computation Conference, GECCO-99,
Morgan Kaufmann, pág. 1149-1155, Orlando, Florida, USA, 1999.

[POLI 98] Poli R., Langdon W.B.: “On the ability to search the space of programs
of standard, one-point and uniform crossover in genetic programming”,
Technical Report CSRP-98-7, Universidad de Birmingham, 1998.

[QUAG 98] Quagliarella D.: “Genetic algorithms and evolution strtegy in


engineering and computer science”, Ed. Chichester John Wiley and
Sons, 1998.

[QUIN 93] Quinlan, J.R. “C4.5: Programs for Machine Learning”. Morgan
Kaufmann Publishers, 1993.
Capítulo 8. Bibliografía 207

[RABU 02a] Rabuñal J.R., Dorado J., Puertas J., Santos A., Rivero D.: “Prediction
and Modelling of the Flow of a Typical Urban Basin through Genetic
Programming”, Proceedings of 4th European Workshop on Evolutionary
Computation in Image Analysis and Signal Processing, EVOIASP 2002,
Irlanda, 2002.

[RABU 02b] Rabuñal J.R. “Metodología para el desarrollo de sistemas de extracción


de conocimiento en RNA”. Tesis doctoral. Universidade da Coruña.
2002.

[RABU 03] Rabuñal J.R., Dorado J., Puertas J., Pazos A., Santos A., Rivero D.:
Prediction and Modelling of the Rainfall-Runoff Transformation of a
Typical Urban Basin using ANN and GP. Applied Artificial Intelligence,
2003.

[RABU 04] Rabuñal J.R., Dorado J., Pazos A., Pereira J., Rivero D. “A New
Approach to the Extraction of ANN Rules and to Their Generalization
Capacity Through GP”. Neural Computation, (16) 7, pág. 1483-1523,
2004.

[RABU 06] Rabuñal J.R., Puertas J., Suárez J., Rivero D. “Determination of the unit
hydrograph of a typical urban basin using genetic programming and
artificial neural networks”. Hydrological Processes, vol. 21. pág. 476-
486. 2006.

[RAND 94] Randall M.C., Thorne C.E., Wild C. “A Standard Comparison of


Adaptive Controllers to Solve the Cart Pole Problem”, Proceedings of
the Second IEEE Australian and New Zealand Conference on Intelligent
Information Systems, pág. 61-65, 1994.

[REZA 91] Rezansoff T., Konkankar U.S., Fu Y.C. Confinement Limits for Tension
Lap Splices under Static Loading. Report, University of Saskatchewan,
Saskatoon, Sask., 1991.
Capítulo 8. Bibliografía 208

[REZA 93] Rezansoff T., Akanni A., Sparling B. Tensile Lap Splices under Static
Loading: A Review of the Proposed ACI 318 Code Provisions. ACI
Structural Journal, V. 90(4), pág. 374-384, 1993.

[RODR 01] Rodriguez-Vazquez, K. Genetic Programming in Time Series Modelling:


an Application to Meteorological Data. Proceedings of the 2001
Congress on Evolutionary Computation CEC2001. IEEE Press. Pág.
261-266. 2001.

[ROGE 94] Rogers L., Dowla F. “Optimization of groundwater remediation using


artificial neural networks with parallel solute transport modelling”.
Water Resources. Vol. 30, pág. 457– 481. 1994.

[SCHA 96] Schaap M.G., Bouten W. “Modeling water retention curves of sandy
soils using neural networks”. Water Resources. Vol. 32, pág. 3033–3040.
1996.

[SCHU 00] Schulze F., Bouma N. Use of Artificial Neural Networks in Integrated
Water Management. Proceedings MTM-III - Artificial Neural Networks
in Water Management, pág. 333-342, 2000.

[SELF 58] Selfridge O.G.: “Pandemonium: A Paradigm for learning”, Proceedings


of the Symposium on Mechanization of Thought Processes, pág. 511-
529, Teddington, England, 1958.

[SHI 00] Shi, J. Reducing prediction error by transforming input data for neural
networks. ASCE Journal of Computing in Civil Engineering, 14(2). Pág.
109-116. 2000.

[SINA 98] Sinak, P, Bundzel, M, Soka ,M, Sztruhar, D., Marsalek, J. Urban runoff
prediction by neural networks. Proceedings of Hydroinformatics’98
conference, Babovic, V & Larsen, L.C ed., Balkema, Rotterdam, pág.
791-796, 1998.
Capítulo 8. Bibliografía 209

[SOUL 97] Soule, T. and Foster, J. A: Code Size and Depth Flows in Genetic
Programming. Genetic Programming 1997: Proceedings of the Second
Annual Conference. Morgan Kauffmann. San Francisco, CA. pp 313-
320. 1997.

[SOUL 98] Soule T.: “Code Growth in Genetic Programming”, Tesis, Universidad
de Idaho, 1998.

[SRIN 05] Srinivasa Lingireddy, Gail Brion (Editores). “Artificial Neural Networks
in Water Supply Engineering”. Libro. Editorial American Society of
Civil Engineers. 2005.

[TEPF 93] Tepfers R. A Theory of Bond Applied to Overlapped Tensile


Reinforcement Splices for Deformed Bars. Publ 73:2, Division of
Concrete Structures, Chalmers University of Technology, Göteborg, pág.
328, 1993.

[THOM 75] M. A. Thompson, J. O. Jirsa, J. E. Breen and D. F. Meinheit. The


Behavior of Multiple Lap Splices in Wide Sections. Research Report No.
154-1, Center for Highway Research, The University of Texas at Austin,
1975.

[TURI 37] Turing A. “On Computable Numbers, with an Application to the


Entscheidungsproblem”. Proc. London Math. Soc. (2), 42, 230-265.
1937.

[TURI 50] Turing, A. “Computing Machinery and Intelligence”. Mind Journal. Vol.
49. Pág. 433-460. 1950.

[VAN 88] Van der Meer, J. “Rock Slopes and Gravel Beaches under Wave Attack”.
MS thesis. Delft Hydraulics. Holanda. 1998.

[VERA 92] Vera R. “Anclaje de Armadiras Pasivas en los Hormigones


Endurecidos”. Tesis doctoral, E.T.S. de Arquitectura de Valencia. 1992.
Capítulo 8. Bibliografía 210

[VIES 89] Viessmann, W., Lewis, G.L. and Knapp, J.W. 1989. Introduction to
Hydrology. Harper Collins.

[WANG 98] Wang H., Oh Y., Yoon E.S.: “Strategies for modeling and control of
nonlinear chemical process using neural networks”, Comp.Chem.Eng.,
vol. 22, pág. 823-826, 1998.

[WASS 89] Wasserman Philip D.: “Neural Computing”. Ed. Van Nostrand Reinhold,
New York, 1989.

[WETZ 83] Wetzel A.: “Evaluation of the Effectiveness of Genetic Algorithms in


Combinational Optimization”, Tesis, Universidad de Pittsburg, 1983.

[WHIT 99] Whitley R., Hromadka T. ·Approximate confidence intervals for design
floods for a single site using a neural network”. Water Resources. Vol.
35, pág. 203 – 209. 1999.

[WILL 89] Williams R.J., Zipser D.: “A Learning Algorithm for Continually
Running Fully Recurrent Neural Networks”, Neural Computation, vol. 1,
pág. 270-280, 1989.

[WITT 00] Witten I.H., Frank E. “Data Mining: Practical Machine Learning Tools
and Techniques with Java Implementations”. Morgan Kaufmann
Publishers, 2000.

[WISL 59] Wisler, C.O., Brater, E.F.. Hydrology. John Wiley & Sons, Inc., New
York. 1959.

[WU 05] Wu Jy S., Han J, Annambhotla S, Bryant S. “Artificial Neural Networks


for Forecasting Watershed Runoff and Stream Flows”,J. Hydrologic
Engineering, Volume 10, Nº 3, Junio, pág. 216-222. 2005.

[ZUO 00a] Zuo J., Darwin D. Bond Slip of High Relative Rib Area Bars under
Cyclic Loading. ACI Structural Journal, Vol. 97(2), pág. 331-334, 2000.
Capítulo 8. Bibliografía 211

[ZUO 00b] Zuo, J., Darwin, D., "Splice Strength of Conventional and High Relative
Rib Area Bars in Normal and High-Strength Concrete" ACI Structural
Journal, Vol. 97, No. 65, July - Aug. 2000, pág. 630-641.

[ZHAN 97] Zhang Q., Stanley S. Forecasting Raw-water Quality Parameters for the
NorthSaskatchewan River by Neural Network Modeling. Water
Research 31(9), pág. 2340-2350, 1997.

[ZHAN 98] Zhang B., Govindaraju R. S. Using Modular Neural Networks to Predict
Watershed Runoff, ASCE Water Resources Engineering Conference’98,
pág. 897-902. 1998.
Capítulo 8. Bibliografía 212
“En el fondo, los científicos somos gente con
suerte: podemos jugar a lo que queramos
durante toda la vida.”

Lee Smolin

ANEXO I
MANUAL DE USUARIO

A continuación se va a mostrar una guía de cómo utilizar la herramienta


informática que se ha desarrollado en la presente tesis para obtener los resultados en ella
presentados.

Este manual de usuario se ha estructurado en varias secciones, en primer lugar se


muestra cómo poder instalar la aplicación en el computador, y a continuación se indican
las funcionalidades de los módulos que consta el programa informático. Inicialmente se
muestra el módulo que permite realizar un preprocesado a los datos experimentales, a
continuación el módulo de entrenamiento y ejecución de Redes de Neuronas
Artificiales, posteriormente el sistema de extracción de expresiones matemáticas
mediante Programación Genética, y finalmente, el módulo de obtención de
Hidrogramas Unitarios mediante simulación de filtros con Programación Genética.
Índice Anexo I i

Índice
1 Anexo 1: Manual de Usuario .................................................................................... 1
1.1 Introducción .......................................................................................... 1
1.2 Requisitos Mínimos .............................................................................. 2
1.2.1 Software ............................................................................................ 2
1.2.2 Hardware........................................................................................... 2
1.3 Instalación del software ........................................................................ 2
1.4 Ejecución .............................................................................................. 5
1.5 Módulos Funcionales............................................................................ 5
1.5.1 Procesado de datos............................................................................ 6
1.5.1.1 Formato de los ficheros.............................................................. 9
1.5.2 Entrenamiento de una Red de Neuronas Artificial ......................... 10
1.5.2.1 Ficheros de Entrenamiento ...................................................... 12
1.5.2.2 Configuración de la RNA ........................................................ 12
1.5.2.3 Configuración del Algoritmo Genético.................................... 14
1.5.2.4 Conexiones............................................................................... 16
1.5.2.5 Población.................................................................................. 18
1.5.2.6 Test........................................................................................... 18
1.5.3 Ejecución de una Red de Neurona Artificial .................................. 19
1.5.3.1 Ficheros de Test ....................................................................... 20
1.5.3.2 RNA ......................................................................................... 21
1.5.3.3 Resultados ................................................................................ 21
1.5.3.4 Gráfico ..................................................................................... 22
1.5.4 Expresiones..................................................................................... 23
1.5.4.1 Configuración del AG.............................................................. 24
1.5.4.2 Ejecución.................................................................................. 29
1.5.4.3 Estadísticas............................................................................... 30
1.5.4.4 Pruebas ..................................................................................... 33
1.5.5 Filtros Programación Genética ....................................................... 34
Anexo 1: Manual de Usuario ii

Índice de Figuras
Figura 1: Esquema funcional del software........................................................................1
Figura 2. Proceso de instalación Paso 1 ............................................................................2
Figura 3. Proceso de instalación Paso 2 ............................................................................3
Figura 4. Proceso de instalación Paso 3 ............................................................................3
Figura 5. Proceso de instalación Paso 4 ............................................................................4
Figura 6. Proceso de instalación Paso 5 ............................................................................4
Figura 7. Icono "Tesis Doctoral".......................................................................................5
Figura 8. Interfaz principal de la aplicación.....................................................................5
Figura 9. Panel principal de la aplicación .........................................................................6
Figura 10. Interfaz principal del procesado de datos ........................................................6
Figura 11. Ficheros de entrada y salida.............................................................................7
Figura 12. Área de datos ...................................................................................................7
Figura 13. Gráfico Entrada / Gráfico Salida .....................................................................8
Figura 14. Preparación de Datos: Media Móvil y Alisamiento Exponencial....................8
Figura 15. Controles de normalización .............................................................................9
Figura 16. Ejemplo de formato de fichero ......................................................................10
Figura 17. Módulo de Entrenamiento de RNA mediante AG.........................................10
Figura 18. Controles principales de entrenamiento.........................................................11
Figura 19. Nombre de la RNA. .......................................................................................11
Figura 20. Configuración RNA.......................................................................................12
Figura 21. Configuración red recurrente .........................................................................13
Figura 22. Configuración del AG....................................................................................14
Figura 23. Conexiones de la red......................................................................................16
Figura 24. Ajuste de la población....................................................................................18
Figura 25. Evaluación del mejor individuo.....................................................................19
Figura 26. Salidas obtenidas (verde) frente deseadas (rojo) ...........................................19
Figura 27. Interfaz principal del módulo de ejecución de RNA. ....................................20
Figura 28. Configuración de la RNA ..............................................................................21
Índice Anexo I iii

Figura 29. Resultados de la ejecución de la RNA en entrenamiento (izquierda), en


ejecución (derecha). ................................................................................................ 22
Figura 30. Gráfico de las salidas deseada y salidas obtenidas........................................ 23
Figura 31. Módulo de extracción de expresiones ........................................................... 23
Figura 32. Panel de configuración del AG. .................................................................... 24
Figura 33. Ficheros de Entrenamiento y Test . ............................................................... 26
Figura 34. Configuración de la ejecución del AG. ......................................................... 26
Figura 35. Ejecución del AG. ......................................................................................... 29
Figura 36. Estadísticas de la ejecución del AG. ............................................................. 31
Figura 37. Evaluación del mejor individuo. ................................................................... 33
Figura 38. Ejecución de Pruebas..................................................................................... 33
Figura 39. Módulo de filtros. .......................................................................................... 34
Figura 40. Ejecución de la mejor solución obtenida....................................................... 35
Figura 41.Salida deseada (roja) y obtenida (verde) del mejor individuo........................ 36
Figura 42. Controles de la ejecución del módulo ........................................................... 36
Anexo 1: Manual de Usuario 1

1 Anexo 1: Manual de Usuario

1.1 Introducción
Este software permite al Ingeniero Civil la aplicación de técnicas típicas de los
Sistemas Conexionistas y la Computación Evolutiva a un campo tan específico como la
Ingeniería Civil de forma cómoda y práctica sin necesidad de un conocimiento profundo
de estas técnicas informáticas.

Se divide en 5 módulos que se explicarán a lo largo de este manal de usuario.

Entorno - Sistemas Conexionistas y Computación Evolutiva en Ingeniería Civil

Procesado de Entrenamiento
Datos RNA

Ejecución
RNA

Expresiones

Filtros P.G.

Figura 1: Esquema funcional del software


Anexo 1: Manual de Usuario 2

1.2 Requisitos Mínimos

1.2.1 Software
Sistema Operativo: Windows 9X, Windows NT, Windows 2000, Windows XP o
Windows Vista. Es necesario para el correcto funcionamiento que en la Configuración
Regional de Windows se establezca el “.” como la separación decimal de los números.

1.2.2 Hardware
PC o compatible con procesador Pentium II a 333MHz con 128 MB de RAM y
10 MB libres en el disco duro; la resolución de pantalla recomendada es 1024 x 768,
tarjeta gráfica SVGA con 256 colores, (se recomienda una tarjeta gráfica de color de 16-
bit), o su equivalente en otras plataformas.

1.3 Instalación del software


1. Insertar el CD en la unidad CD-ROM y seleccionar “Inicio – Ejecutar –
D:\Setup.exe (Donde D es la Unidad de CD-ROM). A Continuación
aparecerá la siguiente ventana (ver Figura 2)

Figura 2. Proceso de instalación Paso 1


Anexo 1: Manual de Usuario 3

2. Pulse en “Next >”

Figura 3. Proceso de instalación Paso 2

3. Elegir directorio de instalación

Figura 4. Proceso de instalación Paso 3


Anexo 1: Manual de Usuario 4

4. Confirmar la instalación

Figura 5. Proceso de instalación Paso 4

5. Finalizar la instalación

Figura 6. Proceso de instalación Paso 5


Anexo 1: Manual de Usuario 5

Una vez llegado a este punto la aplicación se ha instalado correctamente. Dejar


marcado “Launch the program” si se desea ejecutar la aplicación una vez que concluya
el proceso de instalación.

1.4 Ejecución
Para ejecutar el programa seleccionar el icono “Tesis Doctoral”

Figura 7. Icono "Tesis Doctoral"

1.5 Módulos Funcionales


En la siguiente figura se muestra una captura de la interfaz principal de la
aplicación

Figura 8. Interfaz principal de la aplicación


Anexo 1: Manual de Usuario 6

Módulos
Funcionales Mostrar /Ocultar Cerrar Aplicación
Imagen de fondo

Figura 9. Panel principal de la aplicación

En los siguientes apartados del manual se explicará cada módulo funcional

1.5.1 Procesado de datos


Es el primer módulo apropiado para el preprocesado de los datos, antes de
aplicar las técnicas de aprendizaje; en la siguiente figura se muestra la interfaz principal.

Figura 10. Interfaz principal del procesado de datos


Anexo 1: Manual de Usuario 7

A continuación se explicará cada apartado del módulo de procesado de datos

Figura 11. Ficheros de entrada y salida

En la Figura 11 pulsando en el botón se abre un cuadro de diálogo en


donde se podrá seleccionar el archivo donde se encuentra el fichero de entrada. Una vez
aceptado se mostrará en los cuadros siguientes la ruta de los ficheros, el número de
muestras (filas) y el número de columnas; en la figura se muestra 113 filas y 7
columnas. Lo mismo sucede si se pulsa el botón .

Figura 12. Área de datos

En la Figura 12 se muestra el área de datos, en este apartado se identifican 4


pestañas , la primera muestra los ficheros de entrada y de
salida, las dos siguientes corresponden con la representación gráfica de los datos tanto
de entrada como de salida (ver Figura 13), por último aparece la información del
módulo.
Anexo 1: Manual de Usuario 8

Figura 13. Gráfico Entrada / Gráfico Salida

En la parte inferior del módulo aparecen las operaciones de procesado de datos,


en primer lugar el filtrado de los datos mediante la Media Móvil y el Alisamiento
Exponencial tanto para los ficheros de entrada como para los ficheros de salida. Los
parámetros de este preprocesado son el número de muestras y el factor Alfa, por defecto
aparecen en 5 muestras y un valor de Alfa de 0.4 (ver Figura 14)

Figura 14. Preparación de Datos: Media Móvil y Alisamiento Exponencial

A Continuación se encuentra la herramienta de selección de columna a procesar.


Una vez seleccionada la columna se podrá visualizar en forma gráfica pulsando en la
pestaña “Gráfico…” del área de datos y seleccionando “Actualizar Gráficos” (ver
Anexo 1: Manual de Usuario 9

Figura 10). Por último se encuentra la herramienta de normalización (ver Figura 15). El
botón “buscar” encuentra los máximos y mínimos de las columnas seleccionadas
(entrada y salida), si se desean utilizar otros valores para la normalización, se puede
establecerlos y pulsar el botón “Cambiar Valores”. Una vez elegidos estos valores se
está a disposición de realizar la normalización, para ello pulsar en “Normalizar
Entradas” y/o “Normalizar Salidas”. Este proceso se deberá realizar por cada una de las
columnas de entrada y de salidas existentes.

Figura 15. Controles de normalización

Una vez realizada la preparación y normalización de los datos se deberán


guardar para los siguientes módulos, para ello pulsar el botón “Guardar Entradas” para
el conjunto de entradas y “Guardar Salidas” para el conjunto de salidas.

1.5.1.1 Formato de los ficheros


Los ficheros deben de estar en formato de texto modo MS-DOS, separando cada
columna por un tabulador horizontal (código hexadecimal 09h). El formato de cada
valor son numéricos sin separador de miles y para la separación de la parte decimal se
empleará el “.”. Cada patrón esta ordenado por filas y estará compuesto de tantas
columnas como variables empleadas. Los ficheros se dividen en dos, uno albergará las
variables de entrada y el otro las variables de salida correspondientes. En la Figura 16 se
muestra un fragmento de un fichero que cuenta con 7 variables de entrada.
Anexo 1: Manual de Usuario 10

Figura 16. Ejemplo de formato de fichero

1.5.2 Entrenamiento de una Red de Neuronas Artificial


Una vez normalizados los datos se está en disposición de poder realizar el
entrenamiento para lograr una red que resuelva el problema. Para ello en el panel
principal (ver Figura 9) pulsar el botón “Entrenar RNA”. En la Figura 17 se muestra la
interfaz principal de este módulo.

Figura 17. Módulo de Entrenamiento de RNA mediante AG.

El interfaz tiene dos partes principales, Área de Configuración y los Controles


Principales de entrenamiento.
Anexo 1: Manual de Usuario 11

Figura 18. Controles principales de entrenamiento

En los Controles Principales se muestra un gráfico que contiene la evolución del


Error Cuadrático Medio producido por la RNA, y se encuentran los botones de
“Entrenar” que al pulsarlo comenzaría el entrenamiento y “Salir” que descartaría
cualquier cambio y cerraría este módulo. El campo numérico indica el número de
generaciones realizadas. El proceso de entrenamiento se puede detener, mediante el
botón “Pausa”, para cambiar los ajustes del entrenamiento o para finalizarlo. En este
caso si se desea guardar la red se pulsará en el botón “Guardar” abriendo un cuadro de
diálogo para almacenar la configuración de la RNA entrenada, y a continuación se
solicitará un nombre para dicha red creada (ver Figura 19). Si por el contrario se desea
obviar el resultado, pulsar en el botón “Terminar”.

Figura 19. Nombre de la RNA.

El Área de Configuración se divide en 6 apartados principales: “Ficheros de


Entrenamiento”, “RNA”, “AA.GG”, “Conexiones”, “Población” y “Test”. A
continuación se explica cada uno en más detalle.
Anexo 1: Manual de Usuario 12

1.5.2.1 Ficheros de Entrenamiento


Este apartado permite seleccionar los ficheros de entrenamiento para las entradas
y las salidas. Estos ficheros deben de estar normalizados en el rango [0 - 1] o [-1 - 1].
Se dispone de un botón “Comprobar” que verifica que los ficheros no contengan ningún
tipo de error de sintaxis y puedan ser entendidos por el programa.

El Botón “Tamaño” permite agrandar el área de datos.

1.5.2.2 Configuración de la RNA


Pulsando la pestaña RNA permite la configuración de la Red de Neuronas
Artificiales.

Figura 20. Configuración RNA

A Continuación se explican cada apartado de la configuración

• Nº de Capas: Es el número de capas internas. Por cada capa se


especificará de cuantas neuronas artificiales está compuesta. Por ejemplo
en la Figura 20 se establece una red con 2 capas ocultas, en la primera
capa 10 neuronas y en la segunda 5.

• Salidas Negativas: Se permite que la salida de las neuronas sea negativa.

• Penalización: Se penalizan los valores producidos por la RNA (ECM)


con un factor (menos de 1 se penaliza por defecto, más de 1 por exceso).
Anexo 1: Manual de Usuario 13

• Recurrencia: Especifica si es una red alimentada hacia delante o si es una


red recurrente. En el caso de marcar esta casilla aparecerán nuevas
opciones:

o Modo de funcionamiento: pudiendo ser discreto o continuo

o El número de iteraciones a evaluar.

o El límite de la pendiente, Pudiendo establecer inicialmente los


valores de forma aleatoria.

o Valor del Tiempo

Figura 21. Configuración red recurrente

• Límite de Pesos: es el límite que pueden alcanzar los valores de las


conexiones entre las neuronas. Pudiendo establecer inicialmente los
valores de forma aleatoria.

• Max. Activación: Cuando se está trabajando con la función de activación


lineal, la salida de una neurona puede tomar valores muy elevados,
pudiendo provocar errores de desbordamiento (overflow y underflow),
así como salirse de los márgenes de salidas posibles de la RNA. Este
parámetro estable el valor máximo que podrá producir como salida la
neurona.
Anexo 1: Manual de Usuario 14

• Función de activación: Se permiten las siguientes funciones de


activación:

o Lineal, se debe configurar el valor de K (pendiente de la función


lineal)

o Umbral, se debe configurar el Límite Umbral

o Hiperbólica Tangente

o Sigmoide

o Función de Activación Aleatoria, se debe configurar el Límite


Umbral o K

• Salidas de la red Booleanas: Con esta opción la red se comporta como


clasificadora, y se permite establecer el número de clasificadores, en
función de este valor se cambiará automáticamente tanto los umbrales de
clasificación como el intervalo de clasificación.

1.5.2.3 Configuración del Algoritmo Genético


En este caso el algoritmo empleado para la realización del entrenamiento de la
RNA es una implementación del Algoritmo Genético (ver capítulo 3 de la memoria de
la tesis – Descripción del Sistema). En el apartado AA.GG se configuran los
parámetros del AG (ver Figura 22).

Figura 22. Configuración del AG


Anexo 1: Manual de Usuario 15

Los parámetros son los siguientes:

• Individuos: Número de individuos de la población genética.

• Salidas Realimentadas: Cuando se desean realizar predicciones (por


ejemplo de una serie temporal) a largo plazo, es necesario que la
predicción de la RNA (salida) sea la entrada a la misma en el instante
siguiente, para ello, en este parámetro se debe indicar el número de
instantes de salidas de la RNA que se realimentarán a la red, o lo que es
lo mismo, cuántos valores de predicción a largo plazo se desea que
adquiera la RNA.

• Tasa de Cruces: Porcentaje de los individuos que se les aplicará el


operador de cruce.

• Tasa de Mutaciones: Porcentaje de los individuos que se les aplicará la


operación de mutación. En este caso se puede establecer el número de
valores a los que se realizarán mutaciones. Por defecto se realizará en un
único punto.

• Tipo de Selección: En cuanto a los algoritmos de selección disponibles


son:

o Por Estratos: se elige uno de la mitad peor de la población y el


otro de toda la población, con esto se da más probabilidad a la
recombinación de individuos “peores” con individuos “mejores”,
para evitar la obtención de una población demasiado homogénea

o Montecarlo: también denominado ruleta, todos los individuos de


la población son dispuestos en una ruleta ocupando cada uno una
parte proporcional al nivel de ajuste del individuo comparado con
Anexo 1: Manual de Usuario 16

el nivel de ajuste de toda la población. Se seleccionan en función


de esa ruleta, 2 individuos

o Torneo: se escoge un número de individuos al azar de la


población (típicamente dos individuos) y es seleccionado el mejor
de ellos

• Tipo de sustitución: se dispone de la sustitución basada en:

o Peor individuo

o Iguales en error

o Sustituir padres

Una vez establecidos los parámetros, es necesario pulsar en el botón “Establecer


Parámetros” para que el algoritmo de entrenamiento los considere.

1.5.2.4 Conexiones
En el apartado conexiones se pueden ver las conexiones de cada individuo. Para
ello se seleccionará el individuo a Visualizar y se pulsará en el botón “Visualizar”.

Figura 23. Conexiones de la red.


Anexo 1: Manual de Usuario 17

La información que se muestra pertenece a cada individuo, por ejemplo en la


Figura 23 se muestra la información del Individuo nº 2.

La información que se muestra es:

• Valor Umbral o valor de la pendiente (cuando la función de activación


sea la umbral o la lineal, en los restantes casos los valores serán 0 porque
no se considerarán)

• ECM: Error Cuadrático Medio.

• EM: Error Medio.

• Ver Pendientes: Cuando se presiona este botón, en lugar de mostrarse la


matriz correspondiente a los valores de los pesos de conexión de la RNA
se muestra el valor de las pendientes en la configuración de “Función de
Activación Atenuada en el Tiempo”. Consultar en la memoria de la tesis
el capítulo 3 – Descripción del Sistema.

• Tipo de Neuronas: Permite ver que función de activación de cada


neurona artificial.

• %. Esta opción, cuando se establece que la salida de la RNA es umbral,


determinará el porcentaje de acierto, como información adicional al
ECM.

• Nº de Ciclos: Cuando se establece un valor en este parámetro, se realiza


el proceso de entrenamiento el número de ciclos que aquí se establezcan.

• Matriz de pesos: Corresponde con la matriz de las conexiones entre la


Neurona Origen y la Neurona Destino.
Anexo 1: Manual de Usuario 18

1.5.2.5 Población
Este apartado permite ver la evolución de la población. Para ello es necesario
parar el entrenamiento y pulsar en el botón “Ajuste”. En la Figura 24 se muestra el
ajuste alcanzado por la población en 950 generaciones.

Figura 24. Ajuste de la población

1.5.2.6 Test
El último apartado permite evaluar la RNA determinada por el mejor individuo.
(ver Figura 25). Si se pulsa en el checkbox se muestra en forma gráfica los valores
deseados frente a los obtenidos por la RNA (ver Figura 26).
Anexo 1: Manual de Usuario 19

Figura 25. Evaluación del mejor individuo

Figura 26. Salidas obtenidas (verde) frente deseadas (rojo)

1.5.3 Ejecución de una Red de Neurona Artificial


El paso siguiente después de entrenar una red es la ejecución, para ello en primer
lugar se debe realizar la validación de la red. En la Figura 27 se puede ver el módulo de
ejecución de la RNA.
Anexo 1: Manual de Usuario 20

Figura 27. Interfaz principal del módulo de ejecución de RNA.

Al igual que el módulo de entrenamiento se divide en dos áreas principales, el


área de configuración y visualización de resultados y el área de control de la ejecución y
prueba. Los controles están compuestos por los botones “Ejecución”, “Prueba” y
“Salir”, que permiten ejecutar la red, validar la red con los ficheros de validación y salir
de este módulo respectivamente. En el primer caso sólo será necesario definir el fichero
de entradas en el área de configuración. El área de Configuración y Visualización de
resultados está compuesta por “Ficheros”, “RNA”, “Resultados” y “Gráfico”. A
continuación se presenta más en detalle cada apartado.

1.5.3.1 Ficheros de Test


Este apartado permite seleccionar los ficheros de Test o validación de entradas y
de salidas. Estos ficheros, al igual que los ficheros de entrenamiento del módulo
anterior, deben de estar normalizados en el rango [0 - 1] o [-1 - 1]. Se dispone de un
botón “Comprobar” que verifica que los ficheros no contengan ningún tipo de error. En
la Figura 27 puede observarse el contenido de este apartado.
Anexo 1: Manual de Usuario 21

1.5.3.2 RNA
Es en esta apartado donde se recupera la configuración de la RNA entrenada
anteriormente. Pulsando en el botón “RNA” se abrirá un cuadro de diálogo donde se
debe seleccionar la red que se desee ejecutar. En la Figura 28 se muestra la
configuración de la red una vez seleccionado el fichero.

Figura 28. Configuración de la RNA

1.5.3.3 Resultados
Este apartado permite observar los resultados del test o ejecución. En la Figura
29 pueden verse las capturas después de una ejecución (imagen izquierda) o después de
un entrenamiento (imagen derecha), en este caso se muestra el Error Cuadrático Medio
obtenido por la red.
Anexo 1: Manual de Usuario 22

Figura 29. Resultados de la ejecución de la RNA en entrenamiento (izquierda), en


ejecución (derecha).

Dispone de botones para guardar las salidas obtenidas por la RNA (“Guardar
Salidas RNA”), y en el caso de entrenamiento se dispone de otro botón para guardar la
comparativa entre salidas deseadas frente a salidas obtenidas de la red. Los ficheros
generados son en formato de texto.

En el caso que las salidas de la red deban de ser dicotómicas, se dispone de un


botón denominado “Convertir Salidas a Bolean” que permite convertir los valores a
binario (0 – 1). En este caso este apartado calcula automáticamente el porcentaje de
acierto de la red.

1.5.3.4 Gráfico
El último apartado de este módulo presenta en modo gráfico los resultados de la
red. En el Figura 30 se muestran las salidas obtenidas por la red (en verde) y las salidas
que debería obtener (en rojo).
Anexo 1: Manual de Usuario 23

Figura 30. Gráfico de las salidas deseada y salidas obtenidas.

1.5.4 Expresiones
Este módulo permite obtener, a partir de los patrones de entrada y salida,
expresiones matemáticas que liguen algebraicamente las variables de entrada para
obtener la variable de salida. En la Figura 31 se muestra el módulo de extracción donde
se localizarán los ficheros de entrenamiento.

Figura 31. Módulo de extracción de expresiones


Anexo 1: Manual de Usuario 24

Existen 3 botones para los ficheros, “Entradas”, “Salidas” y “Comprobar”, que


funcionan de igual manera que en los módulos anteriores. Hay que destacar que en este
módulo no es necesario normalizar los ficheros. Debajo del área de datos se encuentran
los botones “Algoritmo de Programación Genética” y “Salir”. Pulsando el primero
aparece una nueva pantalla para la configuración del algoritmo genético, y pulsando en
“Salir” se cerrará el módulo.

1.5.4.1 Configuración del AG


En la Figura 32 se puede ver una captura de pantalla de las opciones de
configuración del AG. En ella se podrán seleccionar distintos operadores a emplear
como son: aritméticos, trigonométricos, etc. Cuando se seleccione un operador unario
(que sólo admite una entrada), en la parte inferior, encima de los botones “Aceptar” y
“Cancelar”, se mostrará una gráfica de ese operador. De ese modo se podrá saber cómo
es el operador seleccionado, puesto que la mayoría han sido protegidos para ampliar su
dominio.

Figura 32. Panel de configuración del AG.


Anexo 1: Manual de Usuario 25

También se pueden escoger constantes: pudiendo ser un intervalo, las constantes


π y e o la definición de nuevas constantes, para ello se escribirá en modo numérico la
constante y se pulsará en el botón “Añadir”, pudiéndose eliminar.

Una mención aparte merece el uso de ventanas temporales. Esta opción se podrá
seleccionar cuando el conjunto de patrones de entrada esté compuesto por una variable.
En ese caso, se podrán tratar los patrones como una serie temporal: se podrá elegir
tomar muestras de la variable de entrada y de la salida generada en el pasado (usar
ventanas temporales). Si se decide utilizar ventanas temporales, se cambiará la forma de
nombrar las variables: ahora la variable de entrada será X(n), las muestras del pasado
X(n-i) y las muestras de la salida generada en el pasado Y(n-i).

Otro operador de interés es el operador de decisión IF-THEN-ELSE. Este


operador podrá operar sobre números reales o booleanos según se elija. Asociado a este
operador están los operadores relacionales y lógicos.

Por otro lado se permite configurar la naturaleza de las variables de entrada y de


salida, así como el tipo de ajuste empleado por el Algoritmo Genético.

Una vez configurados los elementos terminales y operadores del AG se está a


disposición de configurar diversos parámetros para la ejecución del algoritmo. Para ello
se deberá pulsar en “Aceptar” y se mostrará dos pantallas. La primera, (ver la Figura
33), permite, pulsando el botón “Ficheros…”, la selección de los ficheros de test.
Anexo 1: Manual de Usuario 26

Figura 33. Ficheros de Entrenamiento y Test .

Figura 34. Configuración de la ejecución del AG.


Anexo 1: Manual de Usuario 27

La segunda pantalla que se muestra es la “Configuración de la ejecución del


AG”, ver la Figura 34, se dividen los parámetros en cuatro partes:

• Algoritmos. Es esta sección se puede escoger entre los distintos tipos de


algoritmos de creación inicial de la población, y operaciones genéticas de
selección y mutación.

• Porcentajes. En esta sección se puede escoger la tasa de cruces, de


mutación y de selección de no terminal (en la operación de cruce),
expresadas en porcentaje.

• Parámetros de los árboles. En esta sección, se pueden variar


características propias de los árboles, como la altura, el coeficiente de
penalización por parsimonia, etc.

• Opciones de ejecución. Se incluyen dos grandes opciones:

o Utilizar estrategia elitista. Si se habilita, en la ejecución el mejor


individuo de cada generación será copiado sin ninguna
modificación en la siguiente población. Con esto se puede
asegurar de que la población no empeora durante el proceso
evolutivo.

o Utilizar cruces no destructivos. Si se habilita, se modificará la


forma de hacer cruces: ahora después de una operación de cruce
sólo pasarán a la siguiente generación aquellos hijos que sean
mejores que sus padres. Esta opción es buena en aquellos
problemas en los que el progreso se realiza rápidamente, pero si
no es así seguramente llevará a una convergencia prematura de la
población.
Anexo 1: Manual de Usuario 28

Existen dos razones por las que no se puedan cambiar los parámetros y por tanto
estos estén inhabilitados:

• El algoritmo está en ejecución. Los parámetros se habilitarán


automáticamente cuando el algoritmo pare.

• En el caso de los parámetros referentes a la creación de individuos


(algoritmo de creación y altura máxima inicial), cuando ya existe una
población creada, es decir, el algoritmo ya se ha ejecutado al menos una
vez.

Una vez se hayan cambiado los parámetros, se habilitarán los botones de la parte
inferior. Para deshacer los cambios realizados, hay que pulsar sobre el botón “Resetear
Valores”. Si se realiza esta acción, los parámetros tomarán su valor antiguo antes de
realizar ninguna modificación, y los cambios realizados se perderán.

Si se desea guardar los cambios en los parámetros, habrá que pulsar sobre el
botón “Establecer Valores”. Con esta opción se guardarán los cambios con dos
excepciones:

• Si la altura máxima indicada es inferior a la de mutación, se mostrará el


mensaje adecuado y ambas tomarán el valor antiguo.

• Si la altura máxima es inferior a la inicial, se mostrará el mensaje


adecuado y ambas tomarán el valor antiguo.

NOTA: Si se abandona la pantalla de cambio de parámetros sin haber guardado


los cambios, estos se perderán.
Anexo 1: Manual de Usuario 29

1.5.4.2 Ejecución
Una vez configurados todos los parámetros del AG se está en disposición de la
ejecución del mismo, para ello se pulsará en el apartado “Ejecución”. En este apartado
están los controles de la ejecución del algoritmo (ver Figura 35) que son los siguientes:

• Iniciar/Continuar: Si se pulsa este botón se iniciará el algoritmo o


continuará en la generación siguiente a cuando fue detenido. El algoritmo
se ejecutará hasta que se pulse el botón “Parar”.

• Parar. Si se pulsa este botón, el algoritmo parará la ejecución una vez


haya completado la generación actual.

• Step. Si se pulsa este botón, el algoritmo creará una sola generación y


parará tras ello.

• Resetear. Si se pulsa este botón, el algoritmo descartará la población


actual y la próxima vez que se inicie el algoritmo (ya sea con Iniciar o
Step), comenzará desde la primera generación otra vez.

Figura 35. Ejecución del AG.


Anexo 1: Manual de Usuario 30

A medida que se vayan creando nuevas generaciones, se irá actualizando la


pantalla. Las partes que se actualizarán son:

• El número de generación actual.

• El ajuste del mejor individuo.

• La gráfica del ajuste. Se pueden escoger dos tipos de gráficas, mediante


el cuadro superior. Estos dos tipos de ajuste son el estandarizado y el
ajustado.

• El cuadro correspondiente al mejor algoritmo y el correspondiente al


mejor árbol. Se puede escoger cuál se quiere ver, mediante el cuadro
situado en la parte inferior derecha. Es posible también ver ambos. Si el
algoritmo está visible, además, podrá ser exportado a un fichero de texto.

Además se permite guardar o cargar una determinada población.

La visión de programas en forma de árbol es la visión natural que tiene la


Programación Genética. Mediante esta opción, puede verse cómo el algoritmo ha
combinado los operadores especificados para dar con la solución. La representación en
forma algorítmica, por su parte, ofrece una visión más próxima al usuario, y tiene la
gran ventaja de poder guardarse en un fichero para ser utilizada posteriormente.

1.5.4.3 Estadísticas
Una vez se haya comenzado el proceso de ejecución se podrán consultar las
estadísticas del algoritmo. Éstas se refieren a la evolución de la población y su relación
con el mejor individuo. En la Figura 36 se muestra una captura de pantalla de este
apartado.
Anexo 1: Manual de Usuario 31

Para que las estadísticas estén habilitadas se necesita que antes de la ejecución
del AG se haya marcado la casilla “Extraer estadísticas con cada generación”. Sin
embargo, esta opción ralentizará en gran manera el proceso búsqueda de expresiónes.

Figura 36. Estadísticas de la ejecución del AG.

El apartado estadísticas esta compuesto por dos partes, un área de gráficos y un


área de información de cada generación.

En la parte izquierda del área de gráficos, se presenta en forma de tarta en la que


se representa el porcentaje de bondad del mejor individuo (en azul) respecto del resto de
la población (en rojo). Con esta gráfica se muestra en forma de porcentaje cómo destaca
el mejor individuo dentro de la población, y corresponde a la porción de la ruleta que le
tocaría en el método de selección de la ruleta.

En la parte derecha, se muestra una gráfica que representa el ajuste normalizado


del mejor individuo en cada generación junto con una línea que representa el ajuste del
individuo medio (este ajuste medio es dependiente del tamaño de la población). En esta
gráfica se puede ver la evolución del ajuste normalizado del mejor individuo, así como
Anexo 1: Manual de Usuario 32

su tendencia hacia el promedio. Esta tendencia es consecuencia directa del algoritmo de


selección utilizado: si se toma uno en el que predominen los individuos mejores, como
el de la ruleta, la convergencia será más rápida.

En la parte inferior se pueden ver distintos datos como el algoritmo de selección


utilizado, el tamaño de población, etc. que dan lugar a una conclusión sobre cuánto
destaca el mejor individuo entre la población.

Finalmente, en la parte central existe una barra en la que puede seleccionar la


generación de la cual se desea conocer estos datos.

Claramente la finalidad de todo esto es la toma de decisiones sobre la


modificación de parámetros del algoritmo: en general es poco deseable que el mejor
individuo tome un ajuste igual que el promedio. Si esto ocurre, podría llevar a pensar
que toda la población es idéntica, lo que se podría solucionar subiendo durante un par
de generaciones la tasa de mutaciones, y posteriormente subiendo la tasa de cruces.

Analizando la bondad del mejor individuo en la gráfica en forma de tarta junto


con el algoritmo de selección y el tamaño de la población en una generación dada, se
pueden obtener conclusiones sobre qué parámetros hay que variar para modificar el
comportamiento.

Por ejemplo, con un tamaño de población bajo y un individuo muy dominante el


algoritmo de la ruleta o el sobrante estocástico podrían tener consecuencias negativas en
muy pocas generaciones, puesto que seleccionan individuos en función del ajuste. Esto
se podría comprobar en la gráfica en forma de tarta en la siguiente generación, viendo
cómo el mejor individuo ha disminuido su predominancia.
Anexo 1: Manual de Usuario 33

1.5.4.4 Pruebas

Figura 37. Evaluación del mejor individuo.

Figura 38. Ejecución de Pruebas.


Anexo 1: Manual de Usuario 34

1.5.5 Filtros Programación Genética


Este módulo permite relacionar dos señales mediante técnicas de Programación
Genética basada en filtros. A partir de una señal de entrada es capaz de generar una
expresión que liga esa señal con el valor que se obtendrá en la señal de salida,
dependiente de la anterior. En la Figura 39 se muestra el interfaz principal de este
módulo. En él se puede observar la separación entre dos áreas: el área de configuración
y visualización de resultados y el área de control de la ejecución.

Figura 39. Módulo de filtros.

El área de configuración y visualización de resultados permite definir los


ficheros tanto de entrada como de salida. Consta de un botón “Comprobar” que verifica
que los ficheros estén en el formato correcto.

En esta pestaña se permite ajustar el número máximo de ciclos o generaciones,


para ello se introducirá en la casilla “Ciclos” y se deberá pulsar el checkbox “Activar”.
Anexo 1: Manual de Usuario 35

En la parte inferior, en el recuadro denominado “Parámetros” se podrán


configurar los parámetros del algoritmo de Programación Genética relacionados con la
altura inicial, el tamaño de la población y el ratio de mutaciones. En el recuadro
Resultados se muestra el programa obtenido y su ajuste en términos de Error Medio.

Figura 40. Ejecución de la mejor solución obtenida.

En la pestaña “Prueba del mejor programa” se pueden visualizar los resultados


obtenidos con el mejor individuo generado. Para ello se debe pulsar el botón “Ajuste”.
En este apartado se pueden ver los resultados tanto en modo texto (ver Figura 40) como
en modo gráfico (ver Figura 41), para cambiar a este modo se debe pulsar en el
checkbox situado a la derecha del botón “Ajuste”.
Anexo 1: Manual de Usuario 36

Figura 41.Salida deseada (roja) y obtenida (verde) del mejor individuo.

En el área de control de ejecución (ver Figura 42) se encuentran los botones de


“Iniciar” que al pulsarlo comenzaría la ejecución del algoritmo de PG y “Salir” que
descartaría cualquier cambio y cerraría este módulo. El campo numérico indica el
número de generaciones realizadas. En todo momento el proceso de entrenamiento se
puede detener mediante el botón “Pausa”, para poder realizar cambios en los parámetros
del entrenamiento o para finalizarlo. Si se desea reanudar el entrenamiento se deberá
pulsar en el botón “Volver”. En caso contrario se podrán descartar lo cambios,
pulsando en el botón “finalizar” y luego en el botón “Salir” o guardar los resultados,
para ello se debe pulsar el botón “Guardar”. Esta acción generará dos ficheros (el
individuo que tiene el mejor ajuste y la actual población)

Figura 42. Controles de la ejecución del módulo

You might also like