Your SlideShare is downloading. ×
Trabajo algoritmo genetico uba
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Trabajo algoritmo genetico uba

592

Published on

trabajo de algoritmo genético realizado por : ALBERTO OJEDA, JOSE VIVAS, JOSE LANDER , GENESIS MONTILLA

trabajo de algoritmo genético realizado por : ALBERTO OJEDA, JOSE VIVAS, JOSE LANDER , GENESIS MONTILLA

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
592
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
25
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ALGORITMOS GENÉTICOSLos algoritmos genéticos nacieron con el planteamiento de crear unalgoritmo con la misma filosofía que emplea la naturaleza en laselección natural. La idea básica es la siguiente: generemos un conjuntocon algunas de las posibles soluciones. Cada una va a serllamada individuo, y a dicho conjunto se le denominará población.Cada individuo tiene una información asociada a él. A dichainformación se la va a denominar código genético. En un problema deoptimización corresponde a las variables libres, es decir, aquellas a lasque el algoritmo tiene que asignar un valor para que una función seamínima o máxima para esos valores. Esta función se denominará funciónde adaptación y determina el grado de adaptación de un individuo.Los algoritmos genéticos son métodos estocásticos de búsqueda ciegade soluciones quasióptimas.
  • 2. CLASES DE ALGORITMOS GENÉTICOS ALGORITMOS GENÉTICOS GENERACIONALESSe asemejan a la forma de reproducción de los insectos, donde unageneración pone huevos, se aleja geográficamente o muere y essubstituida por una nueva. En este momento se realizan cruces en unapiscina de individuos, los descendientes son puestos en otra, al final dela fase reproductiva se elimina la generación anterior y se pasa a utilizarla nueva. Este modelo también es conocido como Algoritmo GenéticoCanónico.Algoritmos Genéticos de estado Fijo.Utilizan el esquema generacional de los mamíferos y otros animales devida larga, donde coexisten padres y sus descendientes, permitiendoque los hijos sean educados por sus progenitores, pero también que a lalarga se genere competencia entre ellos. En este modelo, no solo sedeben seleccionar los dos individuos a ser padres, si no también cualesde la población anterior serán eliminados, para dar espacio a losdescendientes..
  • 3. Algoritmos Genéticos Paralelos.donde al evolucionar se recorren simultáneamente muchassoluciones, cada una representada por un individuo de lapoblación. Sin embargo, es muy común en la naturaleza que nosolo sea una población evolucionando, si no varias poblaciones.Modelos de Islas.Si se tiene una población de individuos, esta se divide ensubpoblaciones que evolucionan independientemente como unAlgoritmo Genético normal.Modelo CelularColoca cada individuo en una matriz, donde cada uno sólo podrábuscar reproducirse con los individuos que tenga a su alrededor(mas cerca de casa) escogiendo al azar o al mejor adaptado.
  • 4. ELEMENTOS DE UN ALGORITMO GENETICOIndividuoUn individuo es un ser que caracteriza su propia especie. El individuo es uncromosoma y es el codigo de información sobre el cual opera el algoritmo. Cadasolución parcial del problema a optimizar está codificada en forma de cadena o Stringen un alfabeto determinado, que puede ser binario.PoblaciónA un conjunto de individuos (Cromosomas) se le denomina población. El método deA.G´s consiste en ir obteniendo de forma sucesiva distintas poblaciones. Por otraparte un Algoritmo Genético trabaja con un conjunto de puntos representativos dediferentes zonas del espacio de búsqueda y no con un solo punto (como lo haceHillclimbing).Función Fitness.La única restricción para usar un algoritmo genético es que exista una funciónllamada fitness, que le informe de cuan bueno es un individuo dado en la solución deun problema. Esta función fitness o de evaluación es el principal enlace entre elAlgoritmo Genético a un problema real, es la efectividad y eficiencia de la funciónfitness que se tome, por lo tanto debe procurarse que la función fitness sea similar
  • 5. ESTRUCTURA DE UN ALGORITMO GENÉTICOUn AG esta compuesto, para su funcionamiento, básicamente por:Codificación: los elementos característicos del problema se pueden representarde tal forma que resulte sencilla su implementación y comprensión.Lacodificación más común es a través de cadenas binariasPoblación inicial: para constituir la población inicial, que será lapoblación base de las sucesivas generaciones, existen varios métodos.Suele ser concebida aleatoriamente.Función fitness: asigna a cada cromosoma un número real, que refleja el nivelde adaptación al problema del individuo representado por el cromosoma.Es la base para determinar qué soluciones tienen mayor o menorprobabilidad de sobrevivir.Selección: es el proceso por el cual se eligen una o varias parejas deindividuos de la población inicial para que desempeñen el papel deprogenitoresCruzamiento: el operador cruce permite el intercambio de información entreindividuos de una población.Mutación: el operador mutación se aplica tras el cruce con el objetivo deincrementar la diversidad poblacional. Se define como una variaciónelemental de las informaciones contenidas en el código genético.
  • 6. VENTAJAS DE LOS ALGORITMOS GENÉTICOS VENTAJAS DE LOS ALGORITMOS GENÉTICOS • 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. • 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. • 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.
  • 7. ALGUNAS APLICACIONES DE LOS ALGORITMOS GENÉTICOS. Cabe destacar entre ellos:Optimización: Se trata de un campo especialmente abonado para el uso de losAlgoritmos Genéticos, por las características intrínsecas de estos problemas.Programación automática: Los Algoritmos Genéticos se han empleado paradesarrollar programas para tareas específicas, y para diseñar otras estructurascomputacionales.Aprendizaje máquina: Los algoritmos genéticos se han utilizado también en muchasde estas aplicaciones, tales como la predicción del tiempo o la estructura de unaproteína. El operador de selecciónPara aplicar los operadores genéticos tendremos que seleccionar un subconjunto de lapoblación. Algunas de las técnicas que disponemos son:Selección directa: toma elementos de acuerdo a un criterio objetivo, como son «los xmejores», «los x peores»... los del tipo «el cuarto individuo a partir del últimoescogido» son empleados con mucha frecuencia cuando se quieren seleccionar dosindividuos distintos, y se selecciona el primero por un método aleatorio o estocástico.
  • 8. EL OPERADOR DE SELECCIÓ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 conmucha frecuencia cuando se quieren seleccionar dos individuos distintos.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, ennuestro 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 unaheurística. Los distintos procedimientos estocásticos son:Selección por sorteo: cada individuo de la población tiene asignado un rango proporcional -oinversamente proporcionalSelección por escaños: se divide el rango del número aleatorio en un número predeterminado deescañosSelección por restos estocásticos: igual que el método de selección de escaños, sólo que losescaños no asignados directamentePor ruleta: definimos un rango con las características de la selección por sorteo. El número al azarserá un número aleatorio forzosamente menor que el tamaño del rangoPor torneo: escoge un subconjunto de individuos de acuerdo con una de las técnicas anteriores -habitualmente, aleatoria o estocástica
  • 9. EL OPERADOR DE CRUCESe denomina operador de cruce a la forma de calcular el genoma delnuevo individuo en función del genoma del padre y de la madre.Cruce básico: se selecciona un punto al azar de la cadena. La parteanterior del punto es copiada del genoma del padre y la posterior del dela madre.ruce multipunto: igual que el cruce básico, sólo que estableciendo másde un punto de cruce.Cruce segmentado: existe una probabilidad de que un cromosoma seapunto de un cruce.Cruce uniforme: para cada gen de la cadena del descendiente existeuna probabilidad de que el gen pertenezca al padre, y otra de quepertenezca a la madre.
  • 10. El operador de mutaciónSe define mutación como una variación de las informaciones contenidas en elcódigo genético -habitualmente, un cambio de un gen a otro producido por algúnfactor exterior al algoritmo genético.Algunas de las razones que pueden motivar a incorporar son:Desbloqueo del algoritmo. Si el algoritmo se bloqueó en un mínimo parcial, unamutación puede sacarlo al incorporar nuevos fenotipos de otras zonas del espacio.Incrementar el número de saltos evolutivos. Los saltos evolutivos -aparición de unfenotipo especialmente valioso, o, dicho de otra forma, salida de un mínimo localEnriquecer la diversidad genética. Es un caso más suave que el de una poblacióndegenerada -por ejemplo, que la población tenga una diversidad genéticaExisten 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 dealgún bit. De producirse, el algoritmo toma aleatoriamente un bitMutación de gen: igual que la mutación de bit, solamente que, en vez de cambiar unbit, cambia un gen completoMutación multigen: igual que la mutación de multibit, solamente que, en vez decambiar un conjunto de bits

×