Upload
eduarda-gomez-linares
View
217
Download
0
Embed Size (px)
DESCRIPTION
contribucion
Citation preview
Algoritmos Genéticos
Integrantes:Loza Uribe, MaricelChávez Alvaro, Julio
AGENDA
Introduccion Algoritmos Genéticos Elementos de Algoritmos Genéticos Operadores Genéticos Lógico Difusa GWin2
Introducción
Provienen de la familia de modelo computacional basado en la evolución
Introducidos por Holland en 1975 Proveen una solución potencial a un problema
específico en una estructura tipo cromosoma y aplican operadores de recombinación para preservar la información crítica
Cualquier modelo basado en población que usa selección y recombinación para generar nuevos elementos en el espacio de búsqueda
Introducción
Población Conjunto de soluciones potenciales, donde la
población inicial puede ser elegida randómicamente
Cambia con el tiempo pero su tamaño se mantiene
Individuo Elemento de la población Cada individuo es representado por una cadena
de caracteres
ALGORITMO GENÈTICOS
CONCEPTO:Algoritmos genéticos (GA) son: “funciones matemáticas o rutinas de software que toma como entrada los objetos y retorna como salida cuáles de ellos deben generar descendencia para nuevas generaciones”.
ELEMENTOS DE ALGORITMOS GENÉTICOS
OPERADORES GENÉTICOS
El G.A trabaja en base a los operadores genéticos. Un operador genético consiste en una serie de pasos estructurados que se aplican a los cromosomas y forman resultados concretos, al igual que las operaciones matemáticas y lógicas.
Los operadores matemáticos usuales son suma, resta, multiplicación, división y exponenciación. Aunque todos pueden ser calculados a partir de la suma que es la operación básica.
Los operadores lógicos o booleanos más comunes son:
Conjunción (Y/AND lógico),
Disyunción (O/OR lógico)
Negación (NO/NOT/FALSE/FALSO lógico)
Afirmación (SI/TRUE/VERDADERO lógico)
O exclusivo (XO/XOR LOGICO)
CLONACIÓN
La clonación consiste en la duplicación de la estructura genética de un cromosoma para la generación siguiente. Esto hace que ese ejemplar sobreviva intacto para competir en la nueva generación. La clonación se puede producir en forma:
Explícita: Cuando el software de GA prevé que ante ciertas circunstancias un cromosoma se duplique a si mismo
Implícita: Cuando el programa no prohíbe que en el proceso de crossover un cromosoma sea seleccionado como pareja de sí mismo para generar descendencia.
CLONACION
Cuadro GA 13 Proceso de clonación explícita
Cuadro GA 14 Proceso de clonación implícita
INVERSION:
La inversión consiste en la operación contraria a la clonación. Puede ser:
Total: Un cromosoma muta totalmente por su inverso. Ej.: Dado el cromosoma 00011, su inverso será 11100.
Parcial: Un gen o parte de un gen mutan por su inverso. Si la mutación es de un solo bit, el efecto es igual al de la mutación simple. De hecho, la mutación puede considerarse como un caso especial de la inversión.
INVERSIONCuadro GA 15 Inversión total Cuadro GA 16 Inversión parcial
FITNESS
En el sistema biológico el material genético sobrevive a cada generación combinándose y ampliando su presencia en la población en la medida en que las estructuras que lo contienen manifiesten aptitud relativamente buena. Durante la evaluación se decodifica el gen convirtiéndose en una serie de parámetros de un problema, se halla la solución del problema a partir de esos parámetros y se le da una puntuación a esa solución en función de lo cerca que esté de la mejor solución. A esta puntuación se le llama aptitud (en inglés fitness).
Algoritmo genético
Una vez calculado el fitness de cada individuo, se pasa a la selección para generar la generación intermedia
Los individuos con mayor nivel de fitness son copiados en la generación intermedia.
CROSSOVER
MUTACION
Algoritmo genético
Crossover Se eligen pares de individuos randómicamente
que serán recombinados con una probabilidad p Se elige un punto aleatorio del individuo y se
intercambian sus partes Mutación
Es aplicada con una probabilidad muy baja a cada bit
Diferentes variantes Generar un nuevo bit Invertir un bit
Ejemplo
Diseño de línea de fabricación usando n estaciones
En cada estación se realizan ciertas operaciones en cada producto fabricado y luego se pasa a otra estación en la línea
Problema: asignar las operaciones a las n estaciones de forma de que la línea de producción sea balanceada, dado el tiempo que lleva cada operación
Algunas operaciones deben realizarse antes de que otras puedan empezar
Grafo de precedencia
LOGICA DIFUZA
La lógica borrosa trata de acercar la matemática a lenguaje impreciso del hombre común. Ejemplo: hace mucho calor, hace frió, hoy llovió mucho, no llovió casi nada, apenas unas gotitas (conceptos vagos). A diferencia de decir: En este momento hay 30 grados centígrados, y se espera para el resto del día la temperatura se eleve hasta 35 grados, que luego a lo largo de la noche decaerá a los 20 grados.
La lógica es considerada un método “optimizado de control”, hace que sea flexible. Muy usado en manejo de electrodomésticos (lavadora, heladeras japonesas con logotipo fuzzy logic incorporado).
SI hay poco vapor en el sistema ENTONCES abra las compuertas y libere mas vapor,
SI hay mucho vapor en el sistema ENTONCES cierre las compuertas de vapor
SI la temperatura es alta ENTONCES abra el conducto de agua fría hasta que la temperatura vuelva a ser normal
GWin2:
El WinGA o Gwin2 es un programa basado en ventanas interactivas que se utiliza para demostrar y experimentar con algoritmos genéticos. El programa se ha diseñado para ser fácil de utilizar, no obstante se debe tener cierto conocimiento sobre algoritmos genéticos y cómo trabajan antes de usarlo. Permite experimentar con los problemas incluidos, como así también es posible introducir nuevos problemas en el sistema para encontrarles solución.
El programa almacena problemas en las bibliotecas dinámicas DLLs. Esto significa que el usuario del software puede escribir un problema que desee solucionar en cualquier lenguaje de programación que se apoye en DLLs
Conclusiones
El tiempo computacional está dominado por la evaluación del fitness incluyendo el chequeo de validez de la nueva generación de soluciones
Los resultados no son tan buenos como para el algoritmo no paralelo La convergencia es mas lenta y hay muchos
casos en que no converge La performance del algoritmo paralelo es
menos sensitiva al scaling factor que la secuencial
FIN