Académique Documents
Professionnel Documents
Culture Documents
SEDE IBARRA
ESCUELA DE INGENIERA
TRABAJO DE INVESTIGACIN
ALGORITMOS GENTICOS
ndice
1. Introduccin 3
1.1.
Definicin
2. Orgenes
3. Base biolgica
4. Codificacin de problemas 4
5. Principales algoritmos
5.1.
Reemplazo
5.2.
Copia 6
5.3.
Elitismo
5.4.
Mutacin
6. Operadores genticos
6.1.
Seleccin
6.2.
Cruce 8
7. Ejemplo prctico
1. Introduccin
7
9
Definicin
Los Algoritmos Genticos (AGs) son mtodos adaptativos que pueden usarse para resolver
problemas de bsqueda y optimizacin. Estn basados en el proceso gentico de los
organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la
naturaleza de acorde con los principios de la seleccin natural y la supervivencia de los ms
fuertes, postulados por Darwin. Por imitacin de este proceso, los Algoritmos Genticos
son capaces de ir creando soluciones para problemas del mundo real. La evolucin de
dichas soluciones hacia valores ptimos del problema depende en buena medida de una
adecuada codificacin de las mismas.
2. Orgenes
En la naturaleza los individuos de una poblacin compiten entre s en la bsqueda de
recursos tales como comida, agua y refugio. Incluso los miembros de una misma especie
compiten a menudo en la bsqueda de un compaero. Aquellos individuos que tienen ms
xito en sobrevivir y en atraer compaeros tienen mayor probabilidad de generar un gran
nmero de descendientes. Por el contrario individuos poco dotados producirn un menor
nmero de descendientes. Esto significa que los genes de los individuos mejor adaptados se
propagarn en sucesivas generaciones hacia un nmero de individuos creciente. La
combinacin de buenas caractersticas provenientes de diferentes ancestros, puede a veces
producir descendientes "superindividuos", cuya adaptacin es mucho mayor que la de
cualquiera de sus ancestros. De esta manera, las especies evolucionan logrando unas
caractersticas cada vez mejor adaptadas al entorno en el que viven.
Los Algoritmos Genticos usan una analoga directa con el comportamiento natural.
Trabajan con una poblacin de individuos, cada uno de los cuales representa una solucin
factible a un problema dado. A cada individuo se le asigna un valor puntuacin,
relacionado con la bondad de dicha solucin. En la naturaleza esto equivaldra al grado de
efectividad de un organismo para competir por unos determinados recursos. Cuanto mayor
sea la adaptacin de un individuo al problema, mayor ser la probabilidad de que el mismo
sea seleccionado para reproducirse, cruzando su material gentico con otro individuo
seleccionado de igual forma. Este cruce producir nuevos individuos, descendientes de los
anteriores, los cuales comparten algunas de las caractersticas de sus padres. Cuanto menor
sea la adaptacin de un individuo, menor ser la probabilidad de que dicho individuo sea
seleccionado para la reproduccin, y por tanto de que su material gentico se propague en
sucesivas generaciones.
3. Base biolgica
El algoritmo gentico es una tcnica de bsqueda basada en la teora de la evolucin de
Darwin, que ha cobrado tremenda popularidad en todo el mundo durante los ltimos aos,
por lo que la comunidad cientfica internacional ha mostrado un creciente inters en una
nueva tcnica de bsqueda basada en la teora de la evolucin y que se conoce como el
algoritmo gentico. Esta tcnica se basa en los mecanismos de seleccin que utiliza la
naturaleza, de acuerdo a los cuales los individuos ms aptos de una poblacin son los que
sobreviven, al adaptarse ms fcilmente a los cambios que se producen en su entorno. Hoy
en da se sabe que estos cambios se efectan en los genes de un individuo (unidad bsica de
codificacin de cada uno de los atributos de un ser vivo), y que sus atributos ms deseables
(i.e., los que le permiten adaptarse mejor a su entorno) se transmiten a sus descendientes
cuando ste se reproduce sexualmente.
4. Codificacin de problemas
El Algoritmo Gentico Simple, se representa en la Ilustracin 1. Como se ver a
continuacin, se necesita una codificacin o representacin del problema, que resulte
adecuada al mismo. Adems se requiere una funcin de ajuste o adaptacin al problema, la
cual asigna un nmero real a cada posible solucin codificada.
Ilustracin 1: Algoritmo Gentico Simple
Se supone que los individuos (posibles soluciones del problema), pueden representarse
como un conjunto de parmetros (que denominaremos genes), los cuales agrupados forman
una ristra de valores (a menudo referida como cromosoma). Si bien el alfabeto utilizado
para representar los individuos no debe necesariamente estar constituido por el (0, l), buena
parte de la teora en la que se fundamentan los Algoritmos Genticos utiliza dicho alfabeto.
En trminos biolgicos, el conjunto de parmetros representando un cromosoma particular
se denomina fenotipo. El fenotipo contiene la informacin requerida para construir un
organismo, el cual se refiere como genotipo. Los mismos trminos se utilizan en el campo
de los Algoritmos Genticos. La adaptacin al problema de un individuo depende de la
evaluacin del genotipo. Esta ltima puede inferirse a partir del fenotipo, es decir puede ser
computada a partir del cromosoma, usando la funcin de evaluacin. La funcin de
adaptacin debe ser diseada para cada problema de manera especfica. Dado un
cromosoma particular, la funcin de adaptacin le asigna un nmero real, que se supone
refleja el nivel de adaptacin al problema del individuo representado por el cromosoma.
5. Principales algoritmos
5.1.
Remplazo
Proceso de reemplazo: a partir de los (n) miembros de la poblacin de criadores y de los (s)
miembros de la poblacin de descendientes se debe obtener una nueva poblacin de n
miembros. Para hacerlo existen diferentes criterios:
5.2.
Copia
Elitismo
5.4.
Mutacin
6. Operadores genticos
Una vez seleccionados dos padres, sus cromosomas se combinan, utilizando habitualmente
los operadores de cruce y mutacin. Las formas bsicas de dichos operadores se describen a
continuacin.
6.1. Seleccin
El operador de seleccin de padres ms utilizado, es el denominado operador de seleccin
proporcional a la funcin objetivo, en la cual cada individuo tiene una, probabilidad de ser
seleccionado como padre que es proporcional al valor de su funcin objetivo.
Denotando por ppropj,t la probabilidad de que el individuo Ijt sea seleccionado como padre,
se tiene que:
Este operador de seleccin es invariante ante un cambio de escala, pero no ante una
traslacin.
6.2.
Cruce
El operador de cruce, coge dos padres seleccionados y corta sus ristras de cromosomas en
una posicin escogida al azar, para producir dos subristras iniciales y dos subristras finales.
Despus se intercambian las subristras finales, producindose dos nuevos cromosomas
completos (vase la Ilustracin 2). Ambos descendientes heredan genes de cada uno de los
padres. Este operador se conoce como operador de cruce basado en un punto.
Habitualmente el operador de cruce no se aplica a todos los pares de individuos que han
sido seleccionados para emparejarse, sino que se aplica de manera aleatoria, normalmente
con una probabilidad comprendida entre 0.5 y 1.0. En el caso en que el operador de cruce
no se aplique, la descendencia se obtiene simplemente duplicando los padres.
Ilustracin 2: Operador de cruce basado en un punto
10
Tabla 1:SELECCIN
11
Tabla 2: CRUCE
Tras realizar la seleccin, se realiza el cruce. Una manera de hacerlo es mediante el cruce
1X: se forman parejas entre los individuos aleatoriamente de forma similar a la seleccin.
Dados dos individuos pareja se establece un punto de cruce aleatorio, que no es ms que un
nmero aleatorio entre 1 y 4 (la longitud del individuo menos 1). Por ejemplo, en la pareja
2-3 el punto de cruce es 3, lo que significa que un hijo de la pareja conserva los tres
primeros bits del padre y hereda los dos ltimos de la madre, mientras que el otro hijo de la
pareja conserva los tres primeros bits de la madre y hereda los dos ltimos del padre. La
poblacin resultante se muestra en la columna (2) de la tabla 3.
Tabla 3: POBLACIN TRAS EL CRUCE
12