Beruflich Dokumente
Kultur Dokumente
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
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
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
AGS (I)
l
Propuesto inicialmente por John Holland Constituye la base del resto de algoritmos
Parmetros de codificacin
l l
Parmetros de funcionamiento
l l
AGS (II)
Parmetros probabilsticos
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
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
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
-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).-
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
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
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.
Ventajas
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
Ventajas
Capaces de resolver problemas para los cuales no se conoce solucin alguna. Dificultad en el ajuste de los parmetros
l l
Inconvenientes
Principio bsico: Los parmetros de un AG deben ajustarse de modo que no se produzca una convergencia rpida de la poblacin
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
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.