Você está na página 1de 4

ALGORITMO GENTICO

Un algoritmo es una serie de pasos organizados que describe el proceso que se


debe seguir, para dar solucin a un problema especfico. En los aos 1970, de la
mano de John Henry Holland, surgi una de las lneas ms prometedoras de
la inteligencia artificial, la de los algoritmos genticos. Son llamados as porque se
inspiran en la evolucin biolgica y su base gentico-molecular. Estos algoritmos
hacen evolucionar una poblacin de individuos sometindola a acciones
aleatorias semejantes a las que actan en la evolucin
biolgica (mutaciones y recombinaciones genticas), as como tambin a
una Seleccin de acuerdo con algn criterio, en funcin del cual se decide cules
son los individuos ms adaptados, que sobreviven, y cules los menos aptos, que
son descartados. Es incluido dentro de los algoritmos evolutivos, que incluyen
tambin las estrategias evolutivas, la programacin evolutiva y la programacin
gentica. Dentro de esta ltima se han logrado avances curiosos:
Un algoritmo gentico es un mtodo de bsqueda dirigida basada en probabilidad.
Bajo una condicin muy dbil (que el algoritmo mantenga elitismo, es decir,
guarde siempre al mejor elemento de la poblacin sin hacerle ningn cambio) se
puede demostrar que el algoritmo converge en probabilidad al ptimo. En otras
palabras, al aumentar el nmero de iteraciones, la probabilidad de tener el ptimo
en la poblacin tiende a 1 (uno).
FUNCIONAMIENTO
Los algoritmos genticos funcionan entre el conjunto de soluciones de un
problema llamado fenotipo, y el conjunto de individuos de una poblacin natural,
codificando la informacin de cada solucin en una cadena, generalmente binaria,
llamada cromosoma. Los smbolos que forman la cadena son llamados los genes.
Cuando la representacin de los cromosomas se hace con cadenas de dgitos
binarios se le conoce como genotipo. Los cromosomas evolucionan a travs de
iteraciones, llamadas generaciones. En cada generacin, los cromosomas son
evaluados usando alguna medida de aptitud. Las siguientes generaciones (nuevos
cromosomas), son generadas aplicando los operadores genticos repetidamente,
siendo estos los operadores de seleccin, cruzamiento, mutacin y reemplazo.
CUNDO USAR ESTOS ALGORITMOS
Los algoritmos genticos son de probada eficacia en caso de querer calcular
funciones no derivables (o de derivacin muy compleja) aunque su uso es posible
con cualquier funcin.
Deben tenerse en cuenta tambin las siguientes consideraciones:
Si la funcin a optimizar tiene muchos mximos/mnimos locales se requerirn
ms iteraciones del algoritmo para "asegurar" el mximo/mnimo global.
Si la funcin a optimizar contiene varios puntos muy cercanos en valor al
ptimo, solamente podemos "asegurar" que encontraremos uno de ellos (no
necesariamente el ptimo).
FUNCIONAMIENTO DE UN ALGORITMO GENTICO BSICO
Un algoritmo gentico puede presentar diversas variaciones, dependiendo de
cmo se aplican los operadores genticos (cruzamiento, mutacin), de cmo se
realiza la seleccin y de cmo se decide el reemplazo de los individuos para
formar la nueva poblacin. En general, el pseudocdigo consiste de los siguientes
pasos:


Algoritmo gentico i: inicializacin, f(X): evaluacin, ?: condicin de trmino,
Se: seleccin, Cr: cruzamiento, Mu: mutacin, Re: reemplazo, X*: mejor solucin.
Inicializacin: Se genera aleatoriamente la poblacin inicial, que est
constituida por un conjunto de cromosomas los cuales representan las posibles
soluciones del problema. En caso de no hacerlo aleatoriamente, es importante
garantizar que dentro de la poblacin inicial, se tenga la diversidad estructural
de estas soluciones para tener una representacin de la mayor parte de la
poblacin posible o al menos evitar la convergencia prematura.
Evaluacin: A cada uno de los cromosomas de esta poblacin se aplicar la
funcin de aptitud para saber cmo de "buena" es la solucin que se est
codificando.
Condicin de trmino El AG se deber detener cuando se alcance la solucin
ptima, pero sta generalmente se desconoce, por lo que se deben utilizar
otros criterios de detencin. Normalmente se usan dos criterios: correr el AG
un nmero mximo de iteraciones (generaciones) o detenerlo cuando no haya
cambios en la poblacin. Mientras no se cumpla la condicin de trmino se
hace lo siguiente:
Seleccin Despus de saber la aptitud de cada cromosoma se procede a
elegir los cromosomas que sern cruzados en la siguiente generacin. Los
cromosomas con mejor aptitud tienen mayor probabilidad de ser
seleccionados.
Recombinacin o Cruzamiento La recombinacin es el principal operador
gentico, representa la reproduccin sexual, opera sobre dos cromosomas
a la vez para generar dos descendientes donde se combinan las
caractersticas de ambos cromosomas padres.
Mutacin modifica al azar parte del cromosoma de los individuos, y permite
alcanzar zonas del espacio de bsqueda que no estaban cubiertas por los
individuos de la poblacin actual.
Reemplazo una vez aplicados los operadores genticos, se seleccionan los
mejores individuos para conformar la poblacin de la generacin siguiente
APLICACIONES
Diseo automatizado, incluyendo investigacin en diseo de materiales y
diseo multiobjetivo de componentes automovilsticos: mejor comportamiento
ante choques, ahorros de peso, mejora de aerodinmica, etc.
Diseo automatizado de equipamiento industrial.
Diseo automatizado de sistemas de comercio en el sector financiero.
Construccin de rboles filogenticos.
Optimizacin de carga de contenedores.
Diseo de sistemas de distribucin de aguas.
Diseo de topologas de circuitos impresos.
Diseo de topologas de redes computacionales.
En Teora de juegos, resolucin de equilibrios.
Anlisis de expresin de genes.
Aprendizaje de comportamiento de robots.
Aprendizaje de reglas de Lgica difusa.
Anlisis lingstico, incluyendo induccin gramtica, y otros aspectos
de Procesamiento de lenguajes naturales, tales como eliminacin de
ambigedad de sentido.
Infraestructura de redes de comunicaciones mviles.
Optimizacin de estructuras moleculares.
Planificacin de produccin multicriteria.
Prediccin.
Aplicacin de Algoritmos Genticos al Dilema del prisionero Iterado
Optimizacin de sistemas de compresin de datos, por ejemplo, usando
wavelets.
Prediccin de Plegamiento de protenas.
Optimizacin de Layout.
Prediccin de estructura de ARN.
En bioinformtica, Alineamiento mltiple de secuencias.
Aplicaciones en planificacin de procesos industriales, incluyendo planificacin
job-shop.
Seleccin ptima de modelos matemticos para la descripcin de sistemas
biolgicos.
Manejo de residuos slidos.
Ingeniera de software.
Construccin de horarios en grandes universidades, evitando conflictos de
clases.
Problema del viajante.
Hallazgo de errores en programas.
Optimizacin de produccin y distribucin de energa elctrica.
Diseo de redes geodsicas (Problemas de diseo).
Calibracin y deteccin de daos en estructuras civiles.

Você também pode gostar