Sie sind auf Seite 1von 26

ALGORITMOS GENTICOS

Rene Jara Mitzi Omegna Luis Verdugo

Algoritmos Genticos

Historia Qu es un Algoritmo Gentico (AG)? Conceptos biolgicos Implementacion de un AG Ejemplo, problema del viajero Conceptos finales y conclusiones

Qu es un AG?

Los algoritmos genticos son una rama de la computacin evolutiva, que es el rea de la ciencia computacional cuyos algoritmos imitan el proceso evolutivo de la naturaleza. Segn Holland, los algoritmos genticos son programas que evolucionan, simulando en cierto grado la seleccin natural, que alcanzan a resolver problemas complejos que ni siquiera quienes lo crearon comprenden.

Conceptos biolgicos
l

Fundamentos biolgicos Cromosomas, anteproyecto del individuo (cadenas de ADN) Estn compuestos de Genes, bloques funcionales responsables de determinar los rasgos de un individuo Las posibilidades de escoger un rasgo son los Alelos Cada gen tiene una posicin en el cromosoma o Locus El conjunto del material gentico es el Genoma El conjunto de genes es el Genotipo El conjunto de caractersticas finales fsicas y mentales del individuo es el Fenotipo

Conceptos previos (II)


Naturaleza
Cromosoma (Individuo) Gen Alelo Locus Genotipo Generacin

Algoritmos Genticos
Palabra binaria, vector,... (Solucin) Caracterstica del problema (parmetro) Alfabeto de representacin Posicin en la cromosoma de los bits Configuracin de bits concreta Ciclo

Conceptos previos (III)


l

En trminos generales, para simular el proceso evolutivo en una computadora mediante un AG se requiere:

Codificar el espacio de soluciones. Un mecanismo de seleccin. Operaciones que afecten a los individuos (operadores genticos).
Recombinacin (Crossover) Mutacin

Una funcin de aptitud (funcin de fitness)

Algoritmo Gentico Simple


l

Caractersticas para poder aplicar un AG


Espacio de bsqueda en un rango conocido Codificacin de soluciones fcil


l

Generalmente un codificacin correcta es la clave de una buena resolucin del problema.

Se debe poder definir la funcin de aptitud o fitness

AGS (I)
l

Algoritmo Gentico Simple (AGS)


Propuesto inicialmente por John Holland Constituye la base del resto de algoritmos

Parmetros del AGS (de ellos depender la eficiencia y convergencia)

Parmetros de codificacin
l l

a = Nmero de alelos ( normalmente {0, 1} ) w = Longitud de los cromosomas

Parmetros de funcionamiento
l l

n = Tamao de la poblacin. m = Nmero de generaciones

AGS (II)

Parmetros probabilsticos
l l

Pr = Probabilidad de recombinacin o cruce Pm = Probabilidad de mutacin de un alelo

Funcin de aptitud o fitness de cada individuo, f(x)

Cundo debe ser usado un AG?


l l l l

No hay una forma rigurosa de determinar si un mtodo es bueno o no. Si el espacio de soluciones no es muy grande, se puede realizar una busque exhaustiva en lugar de AG. Si el espacio es continuo, se podra emplear un algoritmo de gradiente-ascendente, ya que son ms eficiente que un AG. Si la funcin fitness tiene ruido, la estrategia de seguir el gradiente puede ir desencaminada con la imposibilidad de vuelta atrs, mientras que los AGs acumulan una estadstica de fitness sobre varias generaciones.

Mtodos de seleccin
l l l l l l

Elitista Rueda-ruleta Escalamiento Sigma Seleccin por rango Seleccin por torneo Seleccin de Vasconcelos

Cruzamiento simple

Ejemplo del viajante


l

Enunciado: Una persona debe recorrer varias ciudades distintas, con la condicin de que debe pasar solamente una vez por cada una de ellas y volver a la ciudad de origen, recorriendo la menor distancia posible. En este ejemplo se han considerado 4 ciudades

Ejemplo del viajante (II)


l

Para resolver este problema con un algoritmo gentico, lo primero que se debe realizar es la codificacin de los individuos

Para ver cmo evoluciona la poblacin es necesario definir una funcin de evaluacin: Fitness(w) = Fitness(w)1 0.1 * Fitness(w)2
-C es el nmero de ciudades -L es la longitud de la cadena de bits -bi es el bit i-simo -Ti es la distancia del tramo i

Ejemplo del viajante (IV)


Individuo 011001 011011 010111 011101 011000 010110 fitness(x) 0.636193 0.889645 0.889645 0.889645 0.379290 0.636193 Valor esperado 0.147246 0.205907 0.205907 0.205907 0.087786 0.147246 1.000000 Aptitud Acumulada 0.147246 0.353153 0.559061 0.764968 0.852754

-Fitness(w).- Valor devuelto por la funcin de aptitud al aplicar sobre ella el individuo w. -FitTOT.- Es la aptitud total de la poblacin actual. -Aptitud(w).- Aptitud del individuo w respecto del resto de individuos Appt(w3) = Fitness(w3)/FitTOT -Aptitud acumulada(w).-

Ejemplo del viajante (VI)

Los descendientes obtenidos del cruzamiento se aaden a la poblacin intermedia y se realiza la mutacin. l De la poblacin intermedia elegimos que recorren 4 tramos y Individuo fitness(x) Aptitud aquellos individuos Aptitud Acumulada los pasamos a la nueva generacin.
l

011101 011101 011101 011101 010111 010111

0.889645 0.889645 0.889645 0.889645 0.889645 0.889645

0.166667 0.166667 0.166667 0.166667 0.166667 0.166667

0.166667 0.333333 0.500000 0.764968 0.833333

1.000000

Se llega a la conclusin de que esta generacin es ms apta que la anterior puesto que el valor de FitTOT actual (5.337868 ) es mayor que el inicial (4.320610 ).

Conceptos finales
l

Diferencias con mtodos tradicionales de bsqueda y optimizacin

Trabajan con poblaciones de soluciones en lugar de un individuo Usan una funcin de aptitud como nico conocimiento Reglas de transicin probabilsticas y no determinsticas El hecho de que usen operadores probabilsticas no significa que operen de manera anloga a una simple bsqueda aleatoria.

Conceptos finales (II)


l

Ventajas

No se necesita conocimiento especfico


l l

Simplicidad Conceptual. Amplia aplicabilidad, Tienen el potencial para incorporar conocimiento sobre el dominio y para hibridizarse con otras tcnicas de bsqueda/optimizacin.

Pueden explotar fcilmente las arquitecturas en paralelo. Son robustas a los cambios dinmicos, resultan menos afectados por los mximos locales

Conceptos finales (III)


l

Ventajas

Capaces de resolver problemas para los cuales no se conoce solucin alguna. Dificultad en el ajuste de los parmetros
l l

Inconvenientes

Operadores probabilsticos Problemas de convergencia

Principio bsico: Los parmetros de un AG deben ajustarse de modo que no se produzca una convergencia rpida de la poblacin

Conceptos finales (V)


l

Algunas aplicaciones

Optimizacin (estructural, de topologas, numrica, combinatoria, etc.) Aprendizaje de mquina (sistemas clasificadores) Bases de datos (optimizacin de consultas) Reconocimiento de patrones (por ejemplo, imgenes) Generacin de gramticas (regulares, libres de contexto, etc.) Planeacin de movimientos de robots Prediccin,...

Conclusiones
l

Los algoritmos genticos prometen ser:

mtodos de resolucin de problemas tecnolgicamente complejos o para el aprendizaje mquina. mtodos para la simulacin de sistemas (naturales) no fcilmente describibles.

Sin embargo, an estn lejos de establecerse como tcnicas completamente conocidas y formales.

Das könnte Ihnen auch gefallen