22
Algoritmos Genéticos Integrantes: Loza Uribe, Maricel Chávez Alvaro, Julio

PresentG6 GA

Embed Size (px)

DESCRIPTION

contribucion

Citation preview

Page 1: PresentG6 GA

Algoritmos Genéticos

Integrantes:Loza Uribe, MaricelChávez Alvaro, Julio

Page 2: PresentG6 GA

AGENDA

Introduccion Algoritmos Genéticos Elementos de Algoritmos Genéticos Operadores Genéticos Lógico Difusa GWin2

Page 3: PresentG6 GA

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

Page 4: PresentG6 GA

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

Page 5: PresentG6 GA

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”.

Page 6: PresentG6 GA

ELEMENTOS DE ALGORITMOS GENÉTICOS

Page 7: PresentG6 GA

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)

Page 8: PresentG6 GA

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.

Page 9: PresentG6 GA

CLONACION

Cuadro GA 13 Proceso de clonación explícita

Cuadro GA 14 Proceso de clonación implícita

Page 10: PresentG6 GA

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.

Page 11: PresentG6 GA

INVERSIONCuadro GA 15 Inversión total Cuadro GA 16 Inversión parcial

Page 12: PresentG6 GA

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).

Page 13: PresentG6 GA

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.

Page 14: PresentG6 GA

CROSSOVER

Page 15: PresentG6 GA

MUTACION

Page 16: PresentG6 GA

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

Page 17: PresentG6 GA

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

Page 18: PresentG6 GA

Grafo de precedencia

Page 19: PresentG6 GA

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

Page 20: PresentG6 GA

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

Page 21: PresentG6 GA

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

Page 22: PresentG6 GA

FIN