Professional Documents
Culture Documents
PROGRAMACIÓN GENÉTICA
Por: Pervys Rengifo Rengifo
Leonardo Jiménez
Programación Genética(PG)
2.1.1.1 Cruzamiento
La operación de cruce se usa para crear nuevos programas hijos, a partir de
dos programas padres seleccionados por su buena aptitud. Los programas
padres, a diferencia de los AG, normalmente son de diferente tamaño y forma.
Los programas hijos se componen de subexpresiones, subprogramas,
subrutinas, bloques de sus padres. Así, los programas hijos normalmente son
de diferente tamaño y forma que sus padres, y posiblemente, y es lo que se
espera, sean más idóneos que sus progenitores. Para ilustrar la forma como se
realiza esta operación se presenta un ejemplo:
Primero considérese a los dos árboles que van a ser los padres en el cruce y
numérense sus nodos en preorden( raíz, subárbol izquierdo, subárbol derecho):
A continuación se escogen al azar los nodos interiores que servirán de
referencia para el cruce. Supóngase que se obtuvo el nodo 2 para el primer
árbol y el noto 5 para el segundo árbol. Por lo tanto los puntos de cruce son: “*”
para el primer árbol y el “+” para el segundo padre. Los dos fragmentos del
cruce se presentan a continuación:
2.1.1.2 Mutación
En el caso de la programación genética, el procedimiento típico es simple: los
programas seleccionan una parte del árbol y la reemplazan por otro subárbol
creado aleatoriamente. Esto le da al algoritmo la posibilidad de escapar de un
mínimo local creando un descendiente con características totalmente nuevas.
Sin embargo la mutación puede ser peligrosa. Si ella se aplica muy
frecuentemente la población será esparcida por todo el espacio de soluciones
potenciales en vez de converger hacia la mejor solución y el proceso de
búsqueda se convertirá en una búsqueda ciega aleatoria, sin ninguna
inteligencia.
Para ilustrar el operador de mutación se presenta el siguiente ejemplo:
Supóngase que se tiene un individuo que va a ser mutado, el cual se muestra a
continuación, y corresponde a la función: ZY + ( Y + ( 0.314Z ) ) , el cual para
propósitos de programación se podría escribir, en notación prefija, como:
(+((* Z Y) (+ Y (* 0.314 Z))))
Sobre este individuo se elige al azar un nodo que será el punto de mutación.
Supóngase que ese punto resultó ser el nodo 7.
Nodo elegido
1 aleatoriamente para
+
mutación
5
2 +
*
6 7
4
Y Y
Z *
8 0.314 Z 9
ZY + ( Y + ( 0.314Z ) )
Supóngase que luego se genera un árbol aleatorio, con una profundidad dada,
el cual se muestra en la siguiente gráfica
* /
Z Y 0.0278 Y
1 1
+ +
2 5
5 +
2 +
*
* 3 4
6 7
6 Z Y Y -
7
4 8
3 Z Y Y 11
* /
10
9 Z Y 0.0278 Y
12 13
Individuo mutante:
ZY + ( Y + ( ZY − 0.0278Y ) )
Individuo mutilado por el nodo de
mutación
El criterio de F inalización es Si
Reporte el resultado
Satisfecho?
No
F in
Evalúe la función de aptitud para cada
individuo en la población
Individuos =0
Si
Gen=Gen+1 Individuos =M ?
No
reproducción Selecione la operación Genética mutación
P robabilísticamente
cruzamiento
Seleccione un individuo Seleccione dos individuos Seleccione un individuo
basado en su aptitud basado en la aptitud basado en su aptitud
Copie en la nueva población Inserte los dos descendientes en la Inserte individuo mutante en la
nueva población nueva población
1997; Babovic V. et al.,. Bojkov 2001; Babovic, V., and Abbott, M.B, 1997;
Babovic, V., and Keijzer, M,2000; Babovic, V., et al., 2001; Bavovic V. and M.
Keijzer, 2002; Drécourt, J., and H. Madsen, 2001; Whigham and P. Crapper,
1999]
Aquí los coeficientes son comúnmente llamados pesos; wh son los pesos
de los los nodos de entrada a los nodos ocultos y w o son los pesos de los
nodos ocultos a la capa de salida. Otra vez los pesos del sesgo son omitidos
en la ecuación. Debido a su forma funcional, el cálculo del gradiente del error
para los pesos de una red neuronal como tal es directo y tiene complejidad
lineal en el número de pesos.
En contraste con esas técnicas , la programación genética aplicada a la tarea
de regresión simbólica no usa una forma preespecificada. Ella usa funciones
primitivas de bajo nivel. Esas funciones pueden ser combinadas para
especificar la función completa.
Dado un conjunto de funciones primitivas que toman un argumento h1,...,hu, y
un conjunto de funciones que toman dos argumentos g1,.., gb, la forma
funcional general inducida por programación genética puede tomar una
variedad de formas.
Las funciones h y g son usualmente funciones aritméticas estándares tales
como adición, sustracción, multiplicación y división pero podría incluir también
trigonométricas, lógicas, y funciones trascendentales. Un ejemplo de función
podría ser:
f ( x, w) = h1 ( g 2 ( g1 ( x3 ,w1 ) , h2 ( x1 ) ) )
Esta función particular puede ser descrita en forma de árbol
o como expresión:
Variable Variable
independiente X dependiente Y
-1.00 1.00
-0.80 0.84
-0.60 0.76
-0.40 0.76
-0.20 0.84
0.00 1.00
0.20 1.24
0.40 1.56
0.60 1.96
0.80 2.44
1.00 3.00
Primer hijo del cruce de Primer hijo del
Mutante de (c)
Mutante de (c) Primer hijo del cruce de (a) y
(a) y (b) Segundo hijo del cruce de (a) y (b)
cruce de (a) y (b)
Copia de a) Seleecionado como puntos
Seleccionando el nodo
Seleccionando (b) Seleccionando como puntos Seleecionado como
Seleccionando como puntos de cruce
de cruce “+” del padre puntos de cruce “+”
Copia de a) el nodo 3 como de cruce “+” del padre (a) y la
3 como punto de (a) y la x más a la “+” del padre (a) y la x más a la
del padre (a) y la x
punto de
mutación izquierda del padre (b) izquierda del padre (b)
x más a la izquierda del padre más a la izquierda
mutación del padre (b)
(b) 2
Para este ejemplo “de juguete”, ya se halló la solución: x +x+1, en el cuarto
individuo de la segunda generación..
BIBLIOGRAFIA
• Abbott, M. B, Bathurst, J.C., Cunge, J. A., O’Connel, P. E. and Rasmunsen,
J.(1986). An introduction to the European Hydrological System – Systeme
Hydrologique European.
• Abbott, M.B., Babovic, V.M., and Cunge, J.A. (2001). Towards the hydraulics
of the hydroinformatics. Journal of Hydraulic Research, 39(4), 339-349.
• Abbott, M.B.,(1997). Engine 2000: Research in to the next generation of
computational hydraulic modelling, Proceedings of the 27th Congress of the
International Association for Hydraulic Research, 2, 859-864.
• Amorocho, J., and A. Brandstetter(1971). Determination of nonlinear
functional response functions in rainfall-runoff processes, Water Resour.
Res. 7(5), 1987-110
• ASCE Task Committee on Application of Artificial Neural Network in
Hydrology(2000a). Artificial Neural Natwork in Hydrology. I , Preliminary
Concepts, Journal od Hydrologic Engineering, 2000, 5(2), 116-123, 2000.
• ASCE Task Committee on Application of Artificial Neural Network in
Hydrology(2000b). Artificial Neural Natwork in Hydrology. I , Hydrologic
Applications, Journal od Hydrologic Engineering, 2000, 5(2), 124-135, 2000.
• Avellaneda, P., Rengifo, P. & N. Obregón. 2002a. Aplicación de las Redes
Neuronales Artificiales para la Predicción de Caudales Medio Mensuales.
XV Seminario Nacional de Hidráulica e Hidrología. Medellín, Agosto 29-31.
• Babovic V. & Keijzer M.(2000). An evolutionary algorithm approach to the
induction of differential equations. In Proceedings of the Fourth International
Conference on Hydroinformatics.
• Babovic V. & Keijzer M.(1999a). Computer supported knowledge discovery
-- A case study in flow resistance induced by vegetation. In Proceedings of
the XXVIII Congress of the International Association for Hydraulic Research
.
• Babovic V. & Keijzer M.(1999b) Data to knowledge -- the new scientific
paradigm. In D. Savic and G. Walters, editors, Water Industry Systems.
• Babovic V. & Keijzer M.(1999c). Forecasting of river discharges in the
presence of chaos and noise. In J. Marsalek, editor, Coping with Floods:
Lessons Learned from Recent Experiences, Kluwer.
• Babovic V. & Keijzer M.(2001a). On the introduction of declarative bias in
knowledge discovery computer systems. In P. Goodwin, editor. New
paradigms in river and estuarine management. Kluwer.
• CIIC2003(2003). Congreso Internacional de Inteligencia Computacional.
Univerisdad Nacional Sede Medellín.
• Davidson, J. W., D. A. Savic, and G. A. Walters (2002), “Symbolic and
numerical regression: experiments and applications”, Journal of Information
Science, accepted for publication
• Dibike, B. Y.& Velickov, S.& Solomatine, Dimitri &Abbot, M. B.(2001).”Model
Induction with Support Vector Machines: Introduction and
Applications”.ASCE Journal of Computing in Civil Engineering, July, vol. 15,
No. 3, pp. 208-216
• Dibike, Y. B. 2000 Machine Learning Paradigms for Rainfall-Runoff
Modelling on the Proc. of the 3rd International Conference on
Hydroinformatics, Iowa City, USA.
• Dibique Y. B. Et al.(2001). Model Induction with Support Vector Machines:
Introduction and Applications , ASCE Journal of Computing in Civil
Engineering, vol. 15, No. 3, pp. 208-216.2 ,July.
• Hsu K., Gupta H. V., and Sorooshian S.(1995). Artificial Neural Network
modeling of the rainfall-runoff process, Water Resour. Res. 31(10), 2517-
2530.
• Jørgensen K., Berry Elfering, Keijzer M., and Babovic V.(2000). Analysis of
long term morphological changes: A data mining approach. In Proceedings
of the International Conference on Coastal Engineering, Australia.
• Katya Rodríguez Vázquez(2002) .Genetic Programming In Time Series
Modelling: An Application To Meteorological Data. Proceedings of ERAD
416–421
• Keijzer M. and Babovic V.(2002). Declarative and preferential bias in gp-
based scientific discovery. Genetic Programming and Evolvable Machines.
• Keijzer M.(2002). Scientific Discovery Using Genetic Programming. PhD
thesis, Danish Technical University, Lyngby, Denmark, March.
• Keijzer M., Babovic V. , Conor Ryan, Michael O'Neill, and Mike
Cattolico.(2001) Adaptive logic programming. In Lee Spector et.al., eds,
Proceedings of the Genetic and Evolutionary Computation Conference
(GECCO-2001).
• Koza, J. R.(1992). Genetic Programming. On the Programming of
Computers by Means of Natural Selection (Complex Adaptive Systems), MIT
Press
• Obregón, N. & F. Fragala’. 2003. Poster: “Avances en la simulación
estocástica espacial de los niveles piezométricos del acuífero cuaternario de
la Sabana de Bogotá (Colombia)”, “Hacia la estimación de la vulnerabilidad
de acuíferos por medio de árboles de decisión” & “Aspectos hidrogeológicos
de la cuenca alta del Río Tunjuelo (Sabana de Bogotá, Colombia)”. IX
Congreso Colombiano de Geología. Julio 30-Agosto 1 2003. Medellín,
Colombia.
• Obregón, N. 1999 Hidroinformática: Nuevas perspectivas en Ingeniería de
Recursos Hídricos. XIX Reunión Nacional de Facultades de Ingeniería.
Cartagena de Indias, Colombia. Agosto 25-27 de 1999.
• Obregón, N. 2002. Herramientas Hidroinformáticas en la Gestión de los
Recursos Hídricos. Seminario y Muestra Tecnológica del Agua. Ministerio de
Desarrollo, DNP, Uniandes, Banco Mundial y Andesco. Cartagena. Mayo 8-
10
• Obregón, N. 2002b. Sistemas Inteligentes en Hidroinformática. Foro sobre
Recursos Hídricos. Asociación Nacional de Estudiantes de Ingeniería Civil
(ANEIC). Bogotá, Octubre 26.
• Velásquez, J. D, 1997. Predicción de Series de Tiempo usando
Programación Genética. Tesis de Maestría en Ingeniería de Sistemas.
Universidad Nacional de Colombia. Sede Medellín.
• Zhang, Byoung-Tak y Mühlenbein, Heinz(1995). Balancing Accuracy and
Parsimony in Genetic Programming. Evolutionary Computation, Vol. 3, No.
1, pp 17-38.