Algoritmo genetico

18
UNIVERSIDAD BICENTENARIA DE ARAGUA FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA DE SISTEMAS SAN JOAQUÍN DE TURMERO LGORITMO GENETICO INTEGRANTES: INGRID SOCORRO PATRICIA SEVILLA MARCO GAMEZ ANGEL PEREZ

description

 

Transcript of Algoritmo genetico

Page 1: Algoritmo genetico

U N I V E R S I D A D B I C E N T E N A R I A D E

A R A G UA

FA C U LTA D D E I N G E N I E R Í A

E S C U E L A D E I N G E N I E R Í A D E S I S T E M A S

S A N J OA Q U Í N D E T U R M E R O

ALGORITMO GENETICOI N T E G R A N T E S :

I N G R I D

S O C O R R O

PAT R I C I A

S E V I L L A

M A R C O G A M E Z

A N G E L P E R E Z

Page 2: Algoritmo genetico

Los algoritmos genéticos establecen una analogía entre el conjunto de soluciones de un problema y el conjunto de individuos de una población natural, codificando la información de cada solución en un string (vector binario) a modo de cromosoma.

"Se pueden encontrar soluciones aproximadas a problemas de gran complejidad computacional mediante un proceso de "evolución simulada", Holland

CON

CEPT

O

Page 3: Algoritmo genetico

Los Algoritmos Genéticos (AG) son métodos adaptativos que pueden ser utilizados para implementar búsquedas y problemas de optimización. Ellos están basados en los procesos genéticos de organismos biológicos, codificando una posible solución a un problema en un "cromosoma" compuesto por una cadena de bits o caracteres.

CON

CEPT

O

Page 4: Algoritmo genetico

CLAS

ES D

E AL

GO

RITM

OS

GEN

ÉTIC

OS

Generacionales:Se asemejan a la forma de reproducción de los insectos, donde una generación pone huevos, se aleja geográficamente o muere y es sustituida por una nueva.

De estado Fijo:Utilizan el esquema generacional de los mamíferos y otros animales de vida larga, donde coexisten padres y sus descendientes, permitiendo que los hijos sean educados por sus progenitores, pero también que a la larga se genere competencia entre ellos.

Paralelos:Se originan dos modelos que toman es en cuenta esta variación, y utilizan no una población como los anteriores si múltiple concurrentemente.

Page 5: Algoritmo genetico

CLAS

ES D

E AL

GO

RITM

OS

GEN

ÉTIC

OS Modelos de Islas:

Si se tiene una población de individuos, esta se divide en sub-poblaciones que evolucionan independientemente.Ocasionalmente, se producen migraciones entre ellas permitiéndoles intercambiar material genético.

Modelo Celular:Los individuos están distribuidos al azar sobre la matriz, Posteriormente empiezan a emerger zonas como cromosomas y adaptaciones semejantes. La reproducción Y selección local crea tendencias evolutivas aisladas.

Page 6: Algoritmo genetico

ELEM

ENTO

S D

E AL

GO

RITM

OS

GEN

ÉTIC

OS

Como los Algoritmos Genéticos se encuentra basados en los procesos de evolución de los seres vivos, casi todos sus conceptos se basan en conceptos de biología y genética que son fáciles de comprender. INDIVIDUO

Un individuo es un ser que caracteriza su propia especie. El individuo es un cromosoma y es el codigo de información sobre el cual opera el algoritmo. Cada solución parcial del problema a optimizar está codificada en forma de cadena o String en un alfabeto determinado, que puede ser binario

POBLACIÓN A un conjunto de individuos (Cromosomas) se le denomina población. El método de A.G´s consiste en ir obteniendo de forma sucesiva distintas poblaciones.

OPERADORES GENETICOS.

Son los diferentes métodos u operaciones que se pueden ejercer sobre una población y que nos permite obtener poblaciones nuevas.

Page 7: Algoritmo genetico

ESTR

UCT

URA

DE

ALG

ORI

TMO

S G

ENÉT

ICO

S

Page 8: Algoritmo genetico

ESTR

UCT

URA

DE

ALG

ORI

TMO

S G

ENÉT

ICO

SCODIFICACIÓN: los elementos característicos del problema se pueden representar de tal forma que resulte sencilla su implementación y comprensión.

POBLACIÓN INICIAL: para constituir la población inicial, que será la población base de las sucesivas generaciones, existen varios métodos.

FUNCIÓN FITNESS: asigna a cada cromosoma un número real, que refleja el nivel de adaptación al problema del individuo representado por el cromosoma.

SELECCIÓN: es el proceso por el cual se eligen una o varias parejas de individuos de la población inicial para que desempeñen el papel de progenitores, cruzándose posteriormente y obteniendo descendencia o permaneciendo en la siguiente generación.

Cruzamiento: el operador cruce permite el intercambio de información entre individuos de una población, recombinando los cromosomas, dando lugar a nuevos individuos.

Mutación: el operador mutación se aplica tras el cruce con el objetivo de incrementar la diversidad poblacional.

Page 9: Algoritmo genetico

• Una clara ventaja es que los algoritmos genéticos son intrínsecamente paralelos, es decir, operan de forma simultánea con varias soluciones, en vez de trabajar de forma secuencial como las técnicas tradicionales. Esto significa que mientras técnicas tradicionales sólo pueden explorar el espacio de soluciones hacia una solución en una dirección al mismo tiempo, y si la solución que descubren resulta subóptima, no se puede hacer otra cosa que abandonar todo el trabajo hecho y empezar de nuevo. Sin embargo, los algoritmos genéticos simplemente desechan esta solución subóptima y siguen por otros caminos.

• Cuando se usan para problemas de optimización resultan menos afectados por los máximos locales (falsas soluciones) que las técnicas tradicionales. Muchos algoritmos de búsqueda pueden quedar atrapados en los óptimos locales: si llegan a lo alto de una colina del paisaje adaptativo, descubrirán que no existen soluciones mejores en las cercanías y concluirán que han alcanzado la mejor de todas, aunque existan picos más altos en algún otro lugar del mapa, situación que no sucede para algoritmos genéticos.

VEN

TAJA

S D

E AL

GO

RITM

OS

GEN

ÉTIC

OS

Page 10: Algoritmo genetico

VEN

TAJA

S D

E AL

GO

RITM

OS

GEN

ÉTIC

OS

Otra ventaja es su habilidad para manipular muchos parámetros simultáneamente. Resulta interesante en caso de tener varios objetivos a resolver.

No necesitan conocimientos específicos sobre el problema que intentan resolver. Realizan cambios aleatorios en sus soluciones candidatas y luego utilizan la función de aptitud para determinar si esos cambios producen una mejora o no.

Resulta sumamente fácil ejecutarlos en las modernas arquitecturas masivas en paralelo.

Usan operadores probabilísticos, en vez de los típicos operadores determinísticos de las otras técnicas.

Page 11: Algoritmo genetico

APLI

CACI

ON

ES D

E AL

GO

RITM

OS

GEN

ÉTIC

OS

OPTIMIZACIÓN: Se trata de un campo especialmente abonado para el uso de los Algoritmos Genéticos, por las características intrínsecas de estos problemas. No en vano fueron la fuente de inspiración para los creadores estos algoritmos. Los Algoritmos Genéticos se han utilizado en numerosas tareas de optimización, incluyendo la optimización numérica, y los problemas de optimización combinatoria.

PROGRAMACIÓN AUTOMÁTICA: Los Algoritmos Genéticos se han empleado para desarrollar programas para tareas específicas, y para diseñar otras estructuras computacionales tales como el autómata celular, y las redes de clasificación.

ECONOMÍA: En este caso, se ha hecho uso de estos Algoritmos para modelar procesos de innovación, el desarrollo estrategias de puja, y la aparición de mercados económicos.

APRENDIZAJE MÁQUINA: Los AG se han utilizado también en muchas de estas aplicaciones, tales como la predicción del tiempo o la estructura de una proteína. Han servido asimismo para desarrollar determinados aspectos de sistemas particulares de aprendizaje, como pueda ser el de los pesos en una red neuronal, las reglas para sistemas de clasificación de aprendizaje o sistemas de producción simbólica, y los sensores para robots.

Page 12: Algoritmo genetico

APLI

CACI

ON

ES D

E AL

GO

RITM

OS

GEN

ÉTIC

OS

SISTEMAS SOCIALES: En el estudio de aspectos evolutivos de los sistemas sociales, tales como la evolución del comportamiento social en colonias de insectos, y la evolución de la cooperación y la comunicación en sistemas multiagentes.

Sistemas inmunes: Al momento de modelar varios aspectos de los sistemas inmunes naturales, incluyendo la mutación somática durante la vida de un individuo y el descubrimiento de familias de genes múltiples en tiempo evolutivo, ha resultado útil el empleo de esta técnica.

Page 13: Algoritmo genetico

ESTR

ATEG

IAS

DE

SELE

CCIÓ

NPara aplicar los operadores genéticos tendremos que seleccionar un subconjunto de la población. Algunas de las técnicas que disponemos son:

SELECCIÓN DIRECTA: toma elementos de acuerdo a un criterio objetivo, como son «los x mejores», «los x peores»... los del tipo «el cuarto individuo a partir del último escogido» son empleados con mucha frecuencia cuando se quieren seleccionar dos individuos distintos, y se selecciona el primero por un método aleatorio o estocástico.

SELECCIÓN ALEATORIA: puede ser realizado por selección equiprobable o selección estocástica.

• Selección equiprobable: todos tienen la misma probabilidad de ser escogidos. Por ejemplo, en nuestro algoritmo la madre en el cruce es escogida con probabilidad equiprobable.

• Selección estocástica: la probabilidad de que un individuo sea escogido depende de una heurística.

POR TORNEO: escoge un subconjunto de individuos de acuerdo con una de las técnicas anteriores -habitualmente, aleatoria o estocástica- y de entre ellos selecciona el más adecuado por otra técnica -habitualmente, determinística de tipo «el mejor» o «el peor»-.

SELE

CCIÓ

N

Page 14: Algoritmo genetico

TECN

ICAS

DE

CRU

CELa forma de calcular el genoma del nuevo individuo en función del genoma del padre y de la madre. El operador de cruce es fuertemente responsable de las propiedades del algoritmo genético, y determinará en gran medida la evolución de la población.

Existen gran cantidad de técnicas de cruce. Las técnicas básicas son:

CRUCE BÁSICO: se selecciona un punto al azar de la cadena. La parte anterior del punto es copiada del genoma del padre y la posterior del de la madre.

CRUCE MULTIPUNTO: igual que el cruce básico, sólo que estableciendo más de un punto de cruce.

CRUCE UNIFORME: para cada gen de la cadena del descendiente existe una probabilidad de que el gen pertenezca al padre, y otra de que pertenezca a la madre.

CRU

CE

Page 15: Algoritmo genetico

MU

TACI

ON

Se define mutación como una variación de las informaciones contenidas en el código genético -habitualmente, un cambio de un gen a otro producido por algún factor exterior al algoritmo genético-. En Biología se definen dos tipos de mutaciones: las generativas, que se heredan y las somáticas, que no se heredan. En los algoritmos genéticos sólo nos serán interesantes las mutaciones generativas.

Algunas de las razones que pueden motivar a incorporar son:

DESBLOQUEO DEL ALGORITMO: Si el algoritmo se bloqueó en un mínimo parcial, una mutación puede sacarlo al incorporar nuevos fenotipos de otras zonas del espacio.

ACABAR CON POBLACIONES DEGENERADAS: Puede ocurrir que, bien por haber un cuasi-mínimo, bien porque en pasos iniciales apareció un individuo demasiado bueno que acabó con la diversidad genética, la población tenga los mismos fenotipos. Si se ha llegado a una población degenerada, es preciso que las mutaciones introduzcan nuevos genomas.

Page 16: Algoritmo genetico

MU

TACI

ON

INCREMENTAR EL NÚMERO DE SALTOS EVOLUTIVOS. Los saltos evolutivos -aparición de un fenotipo especialmente valioso, o, dicho de otra forma, salida de un mínimo local- son muy poco probables en un genético puro para un problema genérico. La mutación permite explorar nuevos subespacios de soluciones, por lo que, si el subespacio es bueno en términos de adaptación, se producirá un salto evolutivo después de la mutación que se expanderá de forma exponencial por la población.

ENRIQUECER LA DIVERSIDAD GENÉTICA: Es un caso más suave que el de una población degenerada -por ejemplo, que la población tenga una diversidad genética pobre-, la mutación es un mecanismo de prevención de las poblaciones degeneradas.

Sin embargo, si la tasa de mutación es excesivamente alta tendremos la ya conocida deriva genética. Una estrategia muy empleada es una tasa de mutación alta al inicio del algoritmo, para aumentar la diversidad genética, y una tasa de mutación baja al final del algoritmo, para conseguir que converja.

Page 17: Algoritmo genetico

MU

TACI

ON

Existen varias técnicas distintas de mutación. Algunas de éstas son:

MUTACIÓN DE BIT: existe una única probabilidad de que se produzca una mutación de algún bit. De producirse, el algoritmo toma aleatoriamente un bit, y lo invierte.

MUTACIÓN MULTIBIT: cada bit tiene una probabilidad de mutarse o no, que es calculada en cada pasada del operador de mutación multibit.

MUTACIÓN DE GEN: igual que la mutación de bit, solamente que, en vez de cambiar un bit, cambia un gen completo. Puede sumar un valor aleatorio, un valor constante, o introducir un gen aleatorio nuevo.

MUTACIÓN MULTIGEN: igual que la mutación de multibit, solamente que, en vez de cambiar un conjunto de bits, cambia un conjunto de genes. Puede sumar un valor aleatorio, un valor constante, o introducir un gen aleatorio nuevo.

MUTACIÓN DE INTERCAMBIO: existe una probabilidad de que se produzca una mutación. De producirse, toma dos bits/genes aleatoriamente y los intercambia.

Page 18: Algoritmo genetico

GRACIAS…