You are on page 1of 5

Algoritmos genéticos

El aumento de la capacidad de proceso de los ordenadores durante la década de los 60,


convirtieron a éstos en instrumentos adecuados para la resolución de problemas con
grandes requerimientos de cálculo. A finales de esa década y principios de la siguiente, un
grupo de investigadores de la Universidad de Michigan en Ann Arbor, denominado Logic of
Computers, encabezados por John Holland, desarrollan los algoritmos genéticos basándose
en una analogía con la evolución de los seres vivos [Holland, 75].

La resolución de un problema complejo determinado puede asimilarse a la búsqueda de una


solución óptima (o al menos subóptima) en un espacio de soluciones extenso. La naturaleza se
enfrenta a un problema de este estilo en su búsqueda de la mejor adaptación de los individuos
al medio. Los miembros de una determinada población compiten entre ellos en la búsqueda de
la supervivencia. Aquellos individuos capaces de adaptarse mejor a las condiciones del medio
que les rodea tendrán mayor probabilidad de sobrevivir. Los miembros de la población con
mayor habilidad para conseguir alimentos, soportar las condiciones climáticas o defenderse de
otras especies, disfrutarán de una esperanza de vida mayor, de una mayor probabilidad de
reproducirse y lograrán una descendencia más numerosa. De esta manera, las características
del individuo que han determinado su mayor habilidad para desenvolverse en el medio serán
transmitidas a su descendencia. Por otra parte, los individuos menos dotados y adaptados al
entorno tendrán una probabilidad menor de trasmitir dichas características a las siguientes
generaciones.

El conjunto de rasgos o características observables del individuo (fenotipo) que han


determinado su éxito o su fracaso son la expresión de la información contenida en su carga
genética. Dicha información se encuentra codificada en los genes, una secuencia de
nucleótidos (fragmento de ADN) en una determinada localización de un cromosoma
específico. Los cromosomas, generalmente agrupados por parejas, se encuentran en el
interior del núcleo celular.
Durante la reproducción cada uno de los padres transmite a su descendencia parte de su
carga genética. Como resultado de este cruce los individuos descendientes poseerán
características fenéticas de ambos progenitores. Dado que los individuos mejor dotados
poseerán una mayor descendencia, las sucesivas generaciones disfrutarán de la
combinación de las buenas características de generaciones pasadas, lo que se traducirá en
una mejor adaptación al medio.

El hecho de que la probabilidad de reproducción sea mayor en los individuos mejor


dotados, no significa que por diversas razones individuos con una menor capacidad de
adaptación al medio, sean capaces de sobrevivir y de transmitir su carga genética a
generaciones futuras. Aunque las características de dichos individuos no sean las
apropiadas para la supervivencia en unas condiciones determinadas, el cruce de su
información genética con la de otros miembros de la población, puede dar lugar a
particularidades que resulten exitosas en generaciones futuras. Esto introduce diversidad
genética en el proceso y una mayor capacidad de respuesta ante cambios en el entorno.

Otra fuente de variabilidad genética es la debida a las mutaciones producidas en el


material genético. Estas mutaciones introducen en la población características diferentes a
las heredadas de generaciones anteriores. En realidad, este cambio aleatorio en los genes
de un organismo, difícilmente procurará una mejora en un individuo bien adaptado a su
entorno; la mayor parte de las características que aportan las mutaciones suelen
desaparecer durante el proceso de selección. Sin embargo, en casos determinados, pueden
suponer rasgos que permitan una mayor adaptación de los individuos al medio.
La información genética determina el poder de adaptación de cada especie (y dentro de
cada especie, de cada individuo). Los individuos más adaptados sobreviven y se reproducen
en mayor medida dando lugar al proceso de cambio dirigido denominado Selección Natural.
Dicho proceso resulta evidentemente eficaz y, sobre todo, robusto, dado que permite la
adaptación exitosa de las poblaciones en ambientes mutables e inciertos. En realidad, la
Selección Natural no persigue una mejora continua de los individuos y las poblaciones, si no
la mejor adaptación posible de estos al entorno en el que sobreviven. Individuos bien
adaptados a un entorno concreto, pueden tener un peor comportamiento en los entornos de
sus antecesores. La selección natural, y por analogía en los algoritmos genéticos, son
procesos robustos dado que permiten la obtención de buenas soluciones en entornos muy
diferentes.

Antes de profundizar en la exposición se hace necesario proporcionar algunas


definiciones de términos posteriormente empleados:

Solución o alternativa: Configuración compatible con las restricciones del problema y


que le da solución.
Individuo: Equivalente analógicamente a solución o alternativa.
Espacio de soluciones: Conjunto de todas las posibles soluciones a un problema
determinado que es posible alcanzar con el sistema de resolución empleado. Equivale a
espacio de individuos.
Población: Conjunto de individuos existentes en un momento (iteración) dado. En adelante
denotado por P.
Generación: Proceso de creación de nuevos individuos. También se emplea como sinónimo
de población.
Función objetivo o función de evaluación: Función empleada para evaluar la calidad de las
soluciones. Analógicamente mediría la adaptación de los individuos a su entorno,
denominándose entones adaptabilidad. Generalmente es una función definida sobre el espacio
de soluciones S y con imagen en R:
FO: S -> R
Los problemas planteados pretenden encontrar individuos en S que minimicen (o en su
caso maximicen) su imagen en R.
Solución óptima: Solución s ∈ S tal que FO(s) sea óptimo. Analógicamente, el
individuo mejor adaptado a su entorno.
Solución sub-optima: Solución de calidad cercana a la de la solución óptima o bien, de
calidad aceptable para las condiciones del problema planteado.
Cadena, estructura o codificación: Secuencia de elementos que representa (codifica) a
una solución o individuo. En la analogía natural es un cromosoma.
Gen: Analogía natural de cada uno de los elementos que conforman la cadena o
cromosoma que representa un individuo.
Alelo: Valor que puede adoptar un gen.
Genotipo: Se empleará para denotar el contenido genético de un individuo, es decir, el
cromosoma que lo codifica.
Medio externo: Entorno en el que se desarrollan y compiten los individuos. En el caso
del presente trabajo será análogo al dominio de ubicación de las actividades.
Fenotipo: Características físicas de un individuo determinadas por su genotipo y las
condiciones del medio externo.

Las figuras siguientes, adaptadas de [Santamarina, 95], aclaran algunas de las analogías
planteadas en el caso del problema de distribución en planta. La figura representa la
analogía entre una solución al problema y su codificación, y un individuo y su genotipo.
La relación entre la codificación de una solución y la propia solución estará influida por el
dominio de ubicación de las actividades, de la misma forma que el fenotipo de un individuo
depende de su genotipo y, además, del medio en el que se desenvuelve. Dado un medio
externo concreto, diferentes genotipos darán lugar a individuos diferentes. De la misma forma,
dado un dominio de ubicación fijo, diferentes codificaciones darán lugar a diferentes soluciones.

En la Figura puede apreciarse qué ocurre en el caso de que una misma codificación se
exponga a diferentes dominios. Como se mostrará más adelante, una de las condiciones para
implementar correctamente un algoritmo genético es que exista una correspondencia biunívoca
entre el espacio de soluciones y el espacio de las codificaciones. Esto es; cada codificación
representa una y sólo una solución, y toda solución puede ser codificada y sólo de una manera.
Observando la Figura podría pensarse que una determinada cadena da lugar a individuos
diferentes en función del entorno a la que se expone, con lo que se incumpliría la condición
anterior. Sin embargo, lo que ocurre en realidad es que un determinado genotipo expuesto a
diferentes medios produce diferentes expresiones físicas del mismo individuo, es decir,
diferentes fenotipos de un mismo individuo.

Estructura básica de un algoritmo genético


En el capítulo anterior ya se expuso brevemente la estructura básica de un algoritmo genético,
pero se considera conveniente reproducirla aquí, para que sirva de guía al análisis detallado de
cada uno de sus componentes.

El algoritmo comienza creando un número determinado de cadenas que codifican un conjunto


de soluciones al problema objeto de estudio. Este conjunto de individuos representa la
población inicial y su tamaño es un parámetro fundamental del proceso.

El criterio para valorar la calidad de cada una de las soluciones (en la analogía el grado de
adecuación de cada individuo al entorno) es el valor de la función objetivo. Así en un proceso
denominado genéricamente evaluación, se determina el valor de la función para cada individuo.

Una vez conocida la valoración de cada individuo se somete a la población a un proceso


denominado selección, mediante el cual se escoge un grupo de individuos que determinarán la
nueva generación. La selección puede llevarse a cabo mediante diversos procedimientos, pero
en general se realiza otorgando una mayor probabilidad de ser escogido a los individuos mejor
valorados.

You might also like