Next: 9.8.6 Conocimiento del dominio
Up: 9.8 GA para Cambiar
Previous: 9.8.4 Otros aspectos a
Computación evolutiva que genera programas (Koza, '92). Osea que
lo que se tiene es una población de programas.
Los programas típicamente se representan como árboles de
``parseo'' de un programa. Donde cada función está
representada en un nodo y los argumentos de la función en sus
ramas.
Para aplicar programación genética a un dominio se tiene
que especificar:
- Las funciones primitivas a considerar (e.g.,
,
etc.).
- Los nodos terminales (e.g., , etc.).
Se siguen los siguientes pasos:
- Genera una población inicial mediante una composición
(generalmente aleatoria) de funciones y símbolos terminales
relacioandos al dominio.
- Realiza en forma iterativa los siguientes pasos, hasta llegar a
un criterio de terminación:
- Ejecuta cada programa y asignales un valor de acuerdo a tu
función de aptitud.
- Crea nuevos programas haciendo: (i) Reproducción (copia),
(ii) Cruza (intercambio aleatorio de dos partes de un progrma, (iii)
Mutación (cambia una parte aleatoria de un programa), y (iv)
Operaciones que cambian la arquitectura (ver abajo),
- Selecciona el mejor programa.
Cruza selecciona aleatoriamente nodos padres de dos árboles y
los intercambia.
Las operaciones que alteran la ``arquitectura'' se usan para
determinar: (i) el número de funciones a utilizar, (ii) el
número de argumentos por función, y (iii) el tipo de
jerarquía (quien llama a quien).
Next: 9.8.6 Conocimiento del dominio
Up: 9.8 GA para Cambiar
Previous: 9.8.4 Otros aspectos a
Eduardo Morales Manzanares
2004-11-02