next up previous contents
Siguiente: 5 Algoritmo Principal Subir: Introducción a los Algoritmos Anterior: 3 Bases Biológicas   Índice General

4 Codificación de Problemas

Cualquier solución potencial a un problema puede ser presentada dando valores a una serie de parámetros. El conjunto de todos los parámetros (genes en la terminología de Algoritmos Genéticos) se codifica en una cadena de valores denominada cromosoma.

El conjunto de los parámetros representado por un cromosoma particular recibe el nombre de genotipo. El genotipo contiene la información necesaria para la construcción del organismo, es decir, la solución real al problema, denominada fenotipo. Por ejemplo, en términos biológicos, la información genética contenida en el ADN de un individuo sería el genotipo, mientras que la expresión de ese ADN (el propio individuo) sería el fenotipo.

Desde los primeros trabajos de John Holland la codificación suele hacerse mediante valores binarios. Se asigna un determinado número de bits a cada parámetro y se realiza una discretización de la variable representada por cada gen. El número de bits asignados dependerá del grado de ajuste que se desee alcanzar. Evidentemente no todos los parámetros tienen porque estar codificados con el mismo número de bits. Cada uno de los bits pertenecientes a un gen suele recibir el nombre de alelo.

La figura 3 muestra un ejemplo de un individuo binario que codifica 3 parámetros.

Figura 3: Individuo Genético Binario
\includegraphics[width=.8\linewidth, height=125pt]{imagenes/cromosoma.eps}

Sin embargo, también pueden existir representaciones que codifiquen directamente cada parámetro con un valor entero, real o en punto flotante. A pesar de que se acusa a estas representaciones de degradar el paralelismo implícito de las representaciones binarias, permiten el desarrollo de operadores genéticos más específicos al campo de aplicación del Algoritmo Genético.

Un ejemplo típico de la aplicación de los Algoritmos Genéticos es la optimización de los pesos de una red de neuronas artificiales. La codificación de la red en forma de cromosoma (fig. 4) es tan sencilla como asignar un gen del cromosoma a cada uno de los pesos de la red. También se podrían añadir genes que indicasen el número de capas de la red, y el número de elementos de procesado en cada capa.

Figura 4: Ejemplo Codificación: Red de Neuronas Artificiales
\includegraphics[width=\linewidth]{imagenes/ejemploRNA.eps}


next up previous contents
Siguiente: 5 Algoritmo Principal Subir: Introducción a los Algoritmos Anterior: 3 Bases Biológicas   Índice General
M. Gestal