SlideShare una empresa de Scribd logo
1 de 27
Instituto Tecnológico de Nuevo Laredo

INTELIGENCIA ARTIFICIAL
- ALGORITMOS GENETICOS
"Estrategias de evolución"

equipo cuatro.
Antecedentes
Definición
Qué es?
En qué consiste?
Introducción

Proceso y evolución
Ventajas y Desventajas
Limitaciones
Cuando usar AG
Otros enfoques

Población
Función de adaptación
Extensiones y
Modificaciones del
Algoritmo Genético
Simple

Selección
Cruzamiento
Mutación
Reducción
*Ejemplos
*Simulación del proceso
Introducción

Antecedentes

Un investigador llamado John Holland de la Universidad de
Michigan era consciente de la importancia de la selección
natural, y a fines de los 60s desarrolló una técnica que permitió
incorporarla a un programa. Su objetivo era lograr que las
computadoras aprendieran por sí mismas. A la técnica que
inventó Holland se le llamó originalmente "planes
reproductivos", pero se hizo popular bajo el nombre "algoritmo
genético" tras la publicación de su libro en 1975.

equipo cuatro.
Introducción

Definición

Por John Koza:
"Es un algoritmo matemático altamente paralelo que
transforma un conjunto de objetos matemáticos individuales
con respecto al tiempo usando operaciones modeladas de
acuerdo al principio Darwiniano de reproducción y
supervivencia del más apto, y tras haberse presentado de
forma natural una serie de operaciones genéticas de entre las
que destaca la recombinación sexual. Cada uno de estos
objetos matemáticos suele ser una cadena de caracteres
(letras o números) de longitud fija que se ajusta al modelo de
las cadenas de cromosomas, y se les asocia con una cierta
función matemática que refleja su aptitud. "

equipo cuatro.
Introducción

Qué es un algoritmo genético y en que consiste?

Los Algoritmos Genéticos (AGs) son métodos adaptativos que
pueden usarse para resolver problemas de búsqueda y
optimización. Están basados en el proceso genético de los
organismos vivos.
Un algoritmo genético consiste en una función matemática o
una rutina de software que toma como entradas a los
ejemplares y retorna como salidas cuales de ellos deben
generar descendencia para la nueva generación.

equipo cuatro.
Introducción

Proceso de evolución y algoritmos genéticos

Aquellos individuos que tienen más éxito en sobrevivir y en
atraer compañeros tienen mayor probabilidad de generar un gran
número de descendientes.
Esto significa que los genes de los individuos mejor adaptados
se propagarán en sucesivas generaciones hacia un número de
individuos creciente.
Las especies evolucionan logrando unas
características cada vez mejor adaptadas al entorno en el que viven.
Los Algoritmos Genéticos usan una analogía directa con el
comportamiento natural.

equipo cuatro.
Introducción

Proceso de evolución y algoritmos genéticos

Trabajan con una población de individuos, cada uno de los cuales
representa una solución factible a un problema dado.
Cuanto mayor sea la adaptación de un individuo al problema,
mayor será la probabilidad de que el mismo sea seleccionado para
reproducirse.
De esta manera se produce una nueva población de posibles
soluciones, la cual reemplaza a la anterior.
A lo largo de las generaciones las buenas características se
propagan a través de la población.
Si el Algoritmo Genético ha sido bien diseñado, la, población
convergerá hacia una solución óptima del problema.

equipo cuatro.
Introducción

Ventajas y Desventajas
No necesitan conocimientos específicos sobre el problema que intentan
resolver.
Operan de forma simultánea con varias soluciones, en vez de trabajar
de forma secuencial como las técnicas tradicionales.
Cuando se usan para problemas de optimización maximizar una función
objetivo- resultan menos afectados por los máximos locales (falsas
soluciones) que las técnicas tradicionales.
Resulta sumamente fácil ejecutarlos en las modernas arquitecturas
masivamente paralelas.
Usan operadores probabilísticos, en vez de los típicos operadores
determinísticos de las otras técnicas.
Pueden tardar mucho en converger, o no converger en absoluto,
dependiendo en cierta medida de los parámetros que se utilicen tamaño de
la población, número de generaciones, etc.-.
Pueden converger prematuramente debido a una serie de problemas de
diversa índole.

equipo cuatro.
Introducción

Limitaciones

En el caso de que existan técnicas especializadas para resolver un
determinado problema, lo más probable es que superen al Algoritmo
Genético, tanto en rapidez como en eficacia. El gran campo de
aplicación de los Algoritmos Genéticos se relaciona con aquellos
problemas para los cuales no existen técnicas especializadas. Incluso
en el caso en que dichas técnicas existan, y funcionen bien, pueden
efectuarse mejoras con los Algoritmos Genéticos.

equipo cuatro.
Introducción

Como Saber si es Posible usar un Algoritmo Genético

La aplicación más común de los algoritmos genéticos ha sido la
solución de problemas de optimización, en donde han mostrado ser
muy eficientes y confiables. Sin embargo, no todos los problemas
pudieran ser apropiados para la técnica, y se recomienda en general
tomar en cuenta las siguientes características del mismo antes de
intentar usarla:
Su espacio de búsqueda (i.e., sus posibles soluciones) debe estar
delimitado dentro de un cierto rango.
Debe poderse definir una función de aptitud que nos indique qué tan
buena o mala es una cierta respuesta.
Las soluciones deben codificarse de una forma que resulte
relativamente fácil de implementar en la computadora.

equipo cuatro.
Introducción

Los Algoritmos Genéticos resuelven los problemas generando
poblaciones sucesivas a las que se aplican los operadores de
mutación y cruce. Cada individuo representa una solución al
problema, y se trata de encontrar al individuo que represente a la
mejor solución.

Otros enfoques de los Algoritmos genéticos
La Programación Genética
La Programación Evolutiva
Sistemas Clasificadores

equipo cuatro.
Población

Extensiones y Modificaciones
del Algoritmo Genético Simple

Población es el conjunto de elementos de referencia sobre el que se
realizan las observaciones. Es necesario realizar un análisis de este
concepto para el proceso del Algoritmo Genético, se consideran los
siguientes dos puntos:
• El tamaño de la población. Problemática en poblaciones pequeñas
y extensas.
• La población inicial. Esto es como se le asignarán los valores a la
población inicial.

equipo cuatro.
Función objetivo o de adaptación

Extensiones y Modificaciones
del Algoritmo Genético Simple

Concepto:
Esta función determina el grado de adaptación o aproximación de cada
individuo al problema y por lo tanto permite distinguir a los mejores
individuos de los peores. Por función entendemos una magnitud cuyo
valor depende de una u otras variables.
ejemplo:
función objetivo f1(x1,x2,....xn), las variables estando sujetas a
restricciones ( f2(x1,x2,...xn)= 0 o f2(x1,x2,...xn) ≥ 0 ...)
Aspectos relevantes:
• Determinación de una adecuada función de adaptación.
• Codificación utilizada.

equipo cuatro.
Selección

Extensiones y Modificaciones
del Algoritmo Genético Simple

Existen distintos métodos para la selección de los padres que serán
cruzados para la creación de nuevos individuos
Función de selección proporcional a la función de evaluación .
Se basa en que la probabilidad de que un individuo sea seleccionado
como padre es proporcional al valor de su función de evaluación.
La ruleta.
Consiste en asignar una porción de la “ruleta” a cada individuo de forma
que el tamaño de cada porción sea proporcional a su fitness. Los mejores
individuos dispondrán de una porción mayor y por lo tanto de más
posibilidades de ser seleccionados.
El Torneo.
Consiste en hacer competir a los individuos en grupos aleatorios
(normalmente parejas), el que tenga el fitness más elevado será el
ganador.

equipo cuatro.
Selección -detalles

Extensiones y Modificaciones
del Algoritmo Genético Simple

Función de selección proporcional a la función de evaluación .
Esta técnica puede producir el inconveniente de que la población
converja prematuramente hacia un resultado óptimo local. Esto
significa que pueden aparecer “superindividuos” muy similares entre si,
de forma que la diversidad genética sea bastante pobre y el algoritmo
se estanque en una solución buena (óptimo local) pero no la mejor.
La ruleta.

El Torneo.
En el caso de competición por parejas se deben realizar dos torneos.
Con este método de selección nos aseguramos de que al menos dos
copias del mejor individuo de la población actuarán como progenitores
para la siguiente generación. Este método tiene evidentes similitudes
con el mundo animal, en donde los machos combaten por el control del
grupo.

equipo cuatro.
Extensiones y Modificaciones
del Algoritmo Genético Simple

Cruzamiento

Consiste en el intercambio de material genético entre dos elementos
de un universo
Su función es mezclar las mejores características o propiedades
que se encuentran en los elementos de una población dada, y que
serán los que den a los mismos una buena puntuación.
El Cruzamiento es el principal operador genético, hasta el punto que
se puede decir que no es un algoritmo genético si no tiene
cruzamiento.
Tipos principales de cruzamiento

Cruzamiento con N-puntos
Cruzamiento Uniforme

equipo cuatro.
Cruzamiento

Extensiones y Modificaciones
del Algoritmo Genético Simple

Cruzamiento con n-puntos.
Los dos elementos participantes en la cruza se cortan por N puntos y el
material genético situado entre ellos se intercambia. Lo más habitual es
un cruzamiento de uno ó de dos puntos.

equipo cuatro.
Cruzamiento
Cruzamiento con 2-puntos.

equipo cuatro.

Extensiones y Modificaciones
del Algoritmo Genético Simple
Cruzamiento

Extensiones y Modificaciones
del Algoritmo Genético Simple

Cruzamiento uniforme.
La descendencia se crea copiando el correspondiente gen de uno de los
dos padres, escogido de acuerdo a una "máscara de cruce" generada
aleatoriamente. Cuando existe un 1 en la "máscara de cruce", el gen es
copiado del padre, mientras que cuando exista un 0 se copia de la madre.
Ejemplo:

equipo cuatro.
Mutación

Extensiones y Modificaciones
del Algoritmo Genético Simple

Se considera un operador básico, que proporciona un pequeño elemento
de aleatoriedad en el entorno de los individuos de la población.
Una vez establecida la frecuencia de mutación, por ejemplo, uno por mil,
se examina cada bit de cada cadena cuando se vaya a crear a un nuevo
elemento a partir de sus padres. Si un número generado aleatoriamente
está por debajo de esa probabilidad, se cambiará el bit (es decir, de 0 a 1
o de 1 a 0). Si no, se dejará como está. Dependiendo del número de
individuos que haya y del número de bits por individuo, puede resultar
que las mutaciones sean extremadamente raras en una sola generación.
La búsqueda del valor óptimo para la probabilidad de mutación, es una
cuestión que ha sido motivo de varios trabajos. Así, De Jong recomienda
la utilización de una probabilidad de mutación del bit de (l superíndice -1),
siendo l la longitud del string. Schaffer y Col. utilizan resultados
experimentales para estimar la tasa óptima proporcional a l /(lambda
super 0.9318),(l super 0.4535), donde lambda denota el número de
individuos en la población.

equipo cuatro.
Reducción

Extensiones y Modificaciones
del Algoritmo Genético Simple

Consiste en escoger lambda individuos de entre los Lambda individuos
que forman parte de la población en el tiempo t, y los lambda individuos
descendientes de los mismos.
*Criterio de reducción Simple:
Se eligen los lambda individuos descendientes que forman
parte de la población en el tiempo t + 1.
*Criterio de reducción elitista de grado lambda:
Se escogen de entre los 2lambda individuos, los lambda
individuos más adaptados al problema.

equipo cuatro.
EJEMPLOS DE APLICACIÓN
Resultado del algoritmos genético: Encontrar el valor de x que hace que
la función f(x) alcance su valor máximo.
Sea una función objetivo la siguiente:
2

f(x)= x
Restricciones:
- x solo va a tomar valores enteros
- 0 <= x <=31

Manera de Codificar los valores para x: Codificación Binaria
16 8 4

INDIVIDUOS

2 1 (multiplicar por estos números y sumarlos)

(0, 1, 0, 1, 1) = 11
(0, 0, 0, 0, 0) = 0
(1, 1, 1, 1, 1) = 31

Población Inicial: Una manera de generarla es aleatoriamente, lanzando
una moneda al aire, si cae
CARA: es igual a 0
SELLO: es igual a 1

equipo cuatro.
Num.
Individuo

Individuo

x

f(x)

Asig. de Pareja

1

(0, 1, 1, 0, 0)

12

144

6

2

(1, 0, 0, 1, 0)

18

324

3

3

(0, 1, 1, 1, 1)

15

225

2

4

(1, 1. 0, 0, 0)

24

576

5

5

(1, 1, 0, 1, 0)

26

676

4

6

(0, 0, 0, 0, 1)

1

1

1

fmed= 324.3
f(mejor individuo) = 676

Selección
Torneo entre dos. A cada individuo de la población se le asigna una pareja y entre ellos se
establece un torneo: el mejor individuo genera dos copias y el peor se desecha
equipo cuatro.
Num.
Individuo

Individuo

Asig. de
Pareja

PCA

Individuo

x

f(x)

(0, 1, 0, 1, 0)

10

100

1

(0, 1, 1, 0, 0)

5

1

(1, 1, 1, 0, 0)

28

784

2

(0, 1, 1, 0, 0)

3

3

(0, 1, 1, 1, 0)

14

196

3

(1, 0, 0, 1, 0)

2

3

(1, 0, 0, 0, 0)

16

256

4

(1, 0, 0, 1, 0)

6

1

(1, 1, 0, 1, 0)

26

676

5

(1, 1, 0, 1, 0)

1

1

(1, 0, 0, 1, 0)

18

324

6

(1, 1, 0, 1, 0)

4

1

fmed= 389.3

f(mejor individuo) = 784

Población tras el cruce
Cruce
Se forman parejas entre los individuos (similar a la de selección).
Se estable un punto de cruce aleatorio (PCA) entre 1 y 4 (longitud individuo – 1)

Num. Ind.

2

1
5
equipo cuatro.

Padre
Madre

hijo

(0 1, 1, 0, 0)
(1 1, 0, 1, 0)
1

hijo
Siguiente paso
El siguiente paso es volver a realizar la selección y le cruce tomando como
población Inicial la ultima tabla (población tras el cruce). Repite tantas veces
como numero de iteraciones tu fijes.
Conclusión
Los algoritmos genéticos no te garantizan un resultado optimo, pero si esta
bien construido te proporcionara una solución razonablemente buena. No
cabe descartar que el algoritmo te de un resultado optimo, así que quédate
con la mejor solución de tu ultima iteración.
Consideraciones Adicionales
Para explorar nuevas soluciones, después de la selección y el cruce,
escoges un numero determinado de bits de la población y los alteras
aleatoriamente a esto se le llama mutación.
equipo cuatro.
Bibliografía

En la web:
http://html.rincondelvago.com/algoritmos-geneticos.html
http://casa.ccp.servidores.net/genetico.html
http://eddyalfaro.galeon.com/geneticos.html
http://es.wikipedia.org/wiki/Portada
Artículos:
Algoritmos Genéticos (I)
© 2001 Javier Ventoso Reigosa
www.texelfactory.com
Artículo publicado en la revista Sólo Programadores Num. 89

equipo cuatro.
FIN

Equipo 4 integrado por:
Esteban Alejandro Vargas Cortez

equipo cuatro.

Más contenido relacionado

La actualidad más candente

Algoritmos GenéTicos
Algoritmos GenéTicosAlgoritmos GenéTicos
Algoritmos GenéTicosESCOM
 
Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5UNEFA
 
Apunte Algoritmos Geneticos
Apunte Algoritmos GeneticosApunte Algoritmos Geneticos
Apunte Algoritmos GeneticosESCOM
 
Algoritmos genéticos y sus aplicaciones - S.O.
Algoritmos genéticos y sus aplicaciones - S.O.Algoritmos genéticos y sus aplicaciones - S.O.
Algoritmos genéticos y sus aplicaciones - S.O.Pol C. Arapa Sánchez
 
Algoritmos genéticos con matlab
Algoritmos genéticos con matlabAlgoritmos genéticos con matlab
Algoritmos genéticos con matlabUNIV OF PERU
 
Resolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticosResolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticosMauro Parra-Miranda
 
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicosTema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicosESCOM
 
Utp i_ay_se_s10_algoritmo genéticos_
 Utp i_ay_se_s10_algoritmo genéticos_ Utp i_ay_se_s10_algoritmo genéticos_
Utp i_ay_se_s10_algoritmo genéticos_jcbenitezp
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticosJeffoG92
 
Algoritmos evolutivos ii
Algoritmos evolutivos iiAlgoritmos evolutivos ii
Algoritmos evolutivos iinando85
 
Presentacion Proyecto
Presentacion ProyectoPresentacion Proyecto
Presentacion Proyectoamoebaz
 
Programación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos GeneralesProgramación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos GeneralesJohn Diaz
 
Programacion genetica
Programacion geneticaProgramacion genetica
Programacion geneticaj3nnn1
 

La actualidad más candente (17)

Desarollo de sofware con algoritmos genéticos
Desarollo de sofware con algoritmos genéticosDesarollo de sofware con algoritmos genéticos
Desarollo de sofware con algoritmos genéticos
 
Algoritmos GenéTicos
Algoritmos GenéTicosAlgoritmos GenéTicos
Algoritmos GenéTicos
 
Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5
 
Apunte Algoritmos Geneticos
Apunte Algoritmos GeneticosApunte Algoritmos Geneticos
Apunte Algoritmos Geneticos
 
A Geneticos
A GeneticosA Geneticos
A Geneticos
 
Algoritmos genéticos y sus aplicaciones - S.O.
Algoritmos genéticos y sus aplicaciones - S.O.Algoritmos genéticos y sus aplicaciones - S.O.
Algoritmos genéticos y sus aplicaciones - S.O.
 
Algoritmos genéticos con matlab
Algoritmos genéticos con matlabAlgoritmos genéticos con matlab
Algoritmos genéticos con matlab
 
Resolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticosResolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticos
 
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicosTema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
 
Algoritmo Genetico
Algoritmo GeneticoAlgoritmo Genetico
Algoritmo Genetico
 
Algoritmo genético presentacion
Algoritmo genético presentacionAlgoritmo genético presentacion
Algoritmo genético presentacion
 
Utp i_ay_se_s10_algoritmo genéticos_
 Utp i_ay_se_s10_algoritmo genéticos_ Utp i_ay_se_s10_algoritmo genéticos_
Utp i_ay_se_s10_algoritmo genéticos_
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticos
 
Algoritmos evolutivos ii
Algoritmos evolutivos iiAlgoritmos evolutivos ii
Algoritmos evolutivos ii
 
Presentacion Proyecto
Presentacion ProyectoPresentacion Proyecto
Presentacion Proyecto
 
Programación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos GeneralesProgramación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos Generales
 
Programacion genetica
Programacion geneticaProgramacion genetica
Programacion genetica
 

Similar a Ag (2005 verano)

Similar a Ag (2005 verano) (20)

ALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptxALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptx
 
Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
computacion Evolutiva
computacion Evolutivacomputacion Evolutiva
computacion Evolutiva
 
Jgap algritmos geneticosss
Jgap  algritmos geneticosssJgap  algritmos geneticosss
Jgap algritmos geneticosss
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Trabajo+completo+de+inteligencia+algoritmo+genetico
Trabajo+completo+de+inteligencia+algoritmo+geneticoTrabajo+completo+de+inteligencia+algoritmo+genetico
Trabajo+completo+de+inteligencia+algoritmo+genetico
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticos
 
Anatomía de un algoritmo genético en jenes
Anatomía de un algoritmo genético en jenesAnatomía de un algoritmo genético en jenes
Anatomía de un algoritmo genético en jenes
 
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
 
Xpin algoritmos genéticos
Xpin   algoritmos genéticosXpin   algoritmos genéticos
Xpin algoritmos genéticos
 
Agente inteligente
Agente inteligenteAgente inteligente
Agente inteligente
 
computacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalcomputacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronal
 

Más de Fiorella Urbina Vera

Más de Fiorella Urbina Vera (14)

EL ÀRADO.pdf
EL ÀRADO.pdfEL ÀRADO.pdf
EL ÀRADO.pdf
 
TAREA BIODIVERSIDAD .pdf
TAREA BIODIVERSIDAD .pdfTAREA BIODIVERSIDAD .pdf
TAREA BIODIVERSIDAD .pdf
 
CONTAMINACION DEL AGUA.pptx
CONTAMINACION DEL AGUA.pptxCONTAMINACION DEL AGUA.pptx
CONTAMINACION DEL AGUA.pptx
 
TRABAJO DE TECNICAS DE AISLAMIENTO.pptx
TRABAJO DE TECNICAS DE AISLAMIENTO.pptxTRABAJO DE TECNICAS DE AISLAMIENTO.pptx
TRABAJO DE TECNICAS DE AISLAMIENTO.pptx
 
CLASIFICACION DE RESIDUOS HOSPITALARIOS.pptx
CLASIFICACION DE RESIDUOS HOSPITALARIOS.pptxCLASIFICACION DE RESIDUOS HOSPITALARIOS.pptx
CLASIFICACION DE RESIDUOS HOSPITALARIOS.pptx
 
informe de higiene perineal.docx
informe de higiene perineal.docxinforme de higiene perineal.docx
informe de higiene perineal.docx
 
prezzi 3.pdf
prezzi 3.pdfprezzi 3.pdf
prezzi 3.pdf
 
trabajo de movilizacion.pdf
trabajo de  movilizacion.pdftrabajo de  movilizacion.pdf
trabajo de movilizacion.pdf
 
Ex amen DE MATEMATICA
Ex amen DE MATEMATICAEx amen DE MATEMATICA
Ex amen DE MATEMATICA
 
Jhoan jhin zafra farro
Jhoan jhin zafra farroJhoan jhin zafra farro
Jhoan jhin zafra farro
 
Comparison of german and chinese culture (1)
Comparison of german and chinese culture (1)Comparison of german and chinese culture (1)
Comparison of german and chinese culture (1)
 
Clases 2
Clases 2Clases 2
Clases 2
 
Almacenes de datos, olap y minería de datos
Almacenes de datos, olap y minería de datosAlmacenes de datos, olap y minería de datos
Almacenes de datos, olap y minería de datos
 
Comparison of german and chinese culture
Comparison of german and chinese cultureComparison of german and chinese culture
Comparison of german and chinese culture
 

Ag (2005 verano)

  • 1. Instituto Tecnológico de Nuevo Laredo INTELIGENCIA ARTIFICIAL - ALGORITMOS GENETICOS "Estrategias de evolución" equipo cuatro.
  • 2. Antecedentes Definición Qué es? En qué consiste? Introducción Proceso y evolución Ventajas y Desventajas Limitaciones Cuando usar AG Otros enfoques Población Función de adaptación Extensiones y Modificaciones del Algoritmo Genético Simple Selección Cruzamiento Mutación Reducción *Ejemplos *Simulación del proceso
  • 3. Introducción Antecedentes Un investigador llamado John Holland de la Universidad de Michigan era consciente de la importancia de la selección natural, y a fines de los 60s desarrolló una técnica que permitió incorporarla a un programa. Su objetivo era lograr que las computadoras aprendieran por sí mismas. A la técnica que inventó Holland se le llamó originalmente "planes reproductivos", pero se hizo popular bajo el nombre "algoritmo genético" tras la publicación de su libro en 1975. equipo cuatro.
  • 4. Introducción Definición Por John Koza: "Es un algoritmo matemático altamente paralelo que transforma un conjunto de objetos matemáticos individuales con respecto al tiempo usando operaciones modeladas de acuerdo al principio Darwiniano de reproducción y supervivencia del más apto, y tras haberse presentado de forma natural una serie de operaciones genéticas de entre las que destaca la recombinación sexual. Cada uno de estos objetos matemáticos suele ser una cadena de caracteres (letras o números) de longitud fija que se ajusta al modelo de las cadenas de cromosomas, y se les asocia con una cierta función matemática que refleja su aptitud. " equipo cuatro.
  • 5. Introducción Qué es un algoritmo genético y en que consiste? Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización. Están basados en el proceso genético de los organismos vivos. Un algoritmo genético consiste en una función matemática o una rutina de software que toma como entradas a los ejemplares y retorna como salidas cuales de ellos deben generar descendencia para la nueva generación. equipo cuatro.
  • 6. Introducción Proceso de evolución y algoritmos genéticos Aquellos individuos que tienen más éxito en sobrevivir y en atraer compañeros tienen mayor probabilidad de generar un gran número de descendientes. Esto significa que los genes de los individuos mejor adaptados se propagarán en sucesivas generaciones hacia un número de individuos creciente. Las especies evolucionan logrando unas características cada vez mejor adaptadas al entorno en el que viven. Los Algoritmos Genéticos usan una analogía directa con el comportamiento natural. equipo cuatro.
  • 7. Introducción Proceso de evolución y algoritmos genéticos Trabajan con una población de individuos, cada uno de los cuales representa una solución factible a un problema dado. Cuanto mayor sea la adaptación de un individuo al problema, mayor será la probabilidad de que el mismo sea seleccionado para reproducirse. De esta manera se produce una nueva población de posibles soluciones, la cual reemplaza a la anterior. A lo largo de las generaciones las buenas características se propagan a través de la población. Si el Algoritmo Genético ha sido bien diseñado, la, población convergerá hacia una solución óptima del problema. equipo cuatro.
  • 8. Introducción Ventajas y Desventajas No necesitan conocimientos específicos sobre el problema que intentan resolver. Operan de forma simultánea con varias soluciones, en vez de trabajar de forma secuencial como las técnicas tradicionales. Cuando se usan para problemas de optimización maximizar una función objetivo- resultan menos afectados por los máximos locales (falsas soluciones) que las técnicas tradicionales. Resulta sumamente fácil ejecutarlos en las modernas arquitecturas masivamente paralelas. Usan operadores probabilísticos, en vez de los típicos operadores determinísticos de las otras técnicas. Pueden tardar mucho en converger, o no converger en absoluto, dependiendo en cierta medida de los parámetros que se utilicen tamaño de la población, número de generaciones, etc.-. Pueden converger prematuramente debido a una serie de problemas de diversa índole. equipo cuatro.
  • 9. Introducción Limitaciones En el caso de que existan técnicas especializadas para resolver un determinado problema, lo más probable es que superen al Algoritmo Genético, tanto en rapidez como en eficacia. El gran campo de aplicación de los Algoritmos Genéticos se relaciona con aquellos problemas para los cuales no existen técnicas especializadas. Incluso en el caso en que dichas técnicas existan, y funcionen bien, pueden efectuarse mejoras con los Algoritmos Genéticos. equipo cuatro.
  • 10. Introducción Como Saber si es Posible usar un Algoritmo Genético La aplicación más común de los algoritmos genéticos ha sido la solución de problemas de optimización, en donde han mostrado ser muy eficientes y confiables. Sin embargo, no todos los problemas pudieran ser apropiados para la técnica, y se recomienda en general tomar en cuenta las siguientes características del mismo antes de intentar usarla: Su espacio de búsqueda (i.e., sus posibles soluciones) debe estar delimitado dentro de un cierto rango. Debe poderse definir una función de aptitud que nos indique qué tan buena o mala es una cierta respuesta. Las soluciones deben codificarse de una forma que resulte relativamente fácil de implementar en la computadora. equipo cuatro.
  • 11. Introducción Los Algoritmos Genéticos resuelven los problemas generando poblaciones sucesivas a las que se aplican los operadores de mutación y cruce. Cada individuo representa una solución al problema, y se trata de encontrar al individuo que represente a la mejor solución. Otros enfoques de los Algoritmos genéticos La Programación Genética La Programación Evolutiva Sistemas Clasificadores equipo cuatro.
  • 12. Población Extensiones y Modificaciones del Algoritmo Genético Simple Población es el conjunto de elementos de referencia sobre el que se realizan las observaciones. Es necesario realizar un análisis de este concepto para el proceso del Algoritmo Genético, se consideran los siguientes dos puntos: • El tamaño de la población. Problemática en poblaciones pequeñas y extensas. • La población inicial. Esto es como se le asignarán los valores a la población inicial. equipo cuatro.
  • 13. Función objetivo o de adaptación Extensiones y Modificaciones del Algoritmo Genético Simple Concepto: Esta función determina el grado de adaptación o aproximación de cada individuo al problema y por lo tanto permite distinguir a los mejores individuos de los peores. Por función entendemos una magnitud cuyo valor depende de una u otras variables. ejemplo: función objetivo f1(x1,x2,....xn), las variables estando sujetas a restricciones ( f2(x1,x2,...xn)= 0 o f2(x1,x2,...xn) ≥ 0 ...) Aspectos relevantes: • Determinación de una adecuada función de adaptación. • Codificación utilizada. equipo cuatro.
  • 14. Selección Extensiones y Modificaciones del Algoritmo Genético Simple Existen distintos métodos para la selección de los padres que serán cruzados para la creación de nuevos individuos Función de selección proporcional a la función de evaluación . Se basa en que la probabilidad de que un individuo sea seleccionado como padre es proporcional al valor de su función de evaluación. La ruleta. Consiste en asignar una porción de la “ruleta” a cada individuo de forma que el tamaño de cada porción sea proporcional a su fitness. Los mejores individuos dispondrán de una porción mayor y por lo tanto de más posibilidades de ser seleccionados. El Torneo. Consiste en hacer competir a los individuos en grupos aleatorios (normalmente parejas), el que tenga el fitness más elevado será el ganador. equipo cuatro.
  • 15. Selección -detalles Extensiones y Modificaciones del Algoritmo Genético Simple Función de selección proporcional a la función de evaluación . Esta técnica puede producir el inconveniente de que la población converja prematuramente hacia un resultado óptimo local. Esto significa que pueden aparecer “superindividuos” muy similares entre si, de forma que la diversidad genética sea bastante pobre y el algoritmo se estanque en una solución buena (óptimo local) pero no la mejor. La ruleta. El Torneo. En el caso de competición por parejas se deben realizar dos torneos. Con este método de selección nos aseguramos de que al menos dos copias del mejor individuo de la población actuarán como progenitores para la siguiente generación. Este método tiene evidentes similitudes con el mundo animal, en donde los machos combaten por el control del grupo. equipo cuatro.
  • 16. Extensiones y Modificaciones del Algoritmo Genético Simple Cruzamiento Consiste en el intercambio de material genético entre dos elementos de un universo Su función es mezclar las mejores características o propiedades que se encuentran en los elementos de una población dada, y que serán los que den a los mismos una buena puntuación. El Cruzamiento es el principal operador genético, hasta el punto que se puede decir que no es un algoritmo genético si no tiene cruzamiento. Tipos principales de cruzamiento Cruzamiento con N-puntos Cruzamiento Uniforme equipo cuatro.
  • 17. Cruzamiento Extensiones y Modificaciones del Algoritmo Genético Simple Cruzamiento con n-puntos. Los dos elementos participantes en la cruza se cortan por N puntos y el material genético situado entre ellos se intercambia. Lo más habitual es un cruzamiento de uno ó de dos puntos. equipo cuatro.
  • 18. Cruzamiento Cruzamiento con 2-puntos. equipo cuatro. Extensiones y Modificaciones del Algoritmo Genético Simple
  • 19. Cruzamiento Extensiones y Modificaciones del Algoritmo Genético Simple Cruzamiento uniforme. La descendencia se crea copiando el correspondiente gen de uno de los dos padres, escogido de acuerdo a una "máscara de cruce" generada aleatoriamente. Cuando existe un 1 en la "máscara de cruce", el gen es copiado del padre, mientras que cuando exista un 0 se copia de la madre. Ejemplo: equipo cuatro.
  • 20. Mutación Extensiones y Modificaciones del Algoritmo Genético Simple Se considera un operador básico, que proporciona un pequeño elemento de aleatoriedad en el entorno de los individuos de la población. Una vez establecida la frecuencia de mutación, por ejemplo, uno por mil, se examina cada bit de cada cadena cuando se vaya a crear a un nuevo elemento a partir de sus padres. Si un número generado aleatoriamente está por debajo de esa probabilidad, se cambiará el bit (es decir, de 0 a 1 o de 1 a 0). Si no, se dejará como está. Dependiendo del número de individuos que haya y del número de bits por individuo, puede resultar que las mutaciones sean extremadamente raras en una sola generación. La búsqueda del valor óptimo para la probabilidad de mutación, es una cuestión que ha sido motivo de varios trabajos. Así, De Jong recomienda la utilización de una probabilidad de mutación del bit de (l superíndice -1), siendo l la longitud del string. Schaffer y Col. utilizan resultados experimentales para estimar la tasa óptima proporcional a l /(lambda super 0.9318),(l super 0.4535), donde lambda denota el número de individuos en la población. equipo cuatro.
  • 21. Reducción Extensiones y Modificaciones del Algoritmo Genético Simple Consiste en escoger lambda individuos de entre los Lambda individuos que forman parte de la población en el tiempo t, y los lambda individuos descendientes de los mismos. *Criterio de reducción Simple: Se eligen los lambda individuos descendientes que forman parte de la población en el tiempo t + 1. *Criterio de reducción elitista de grado lambda: Se escogen de entre los 2lambda individuos, los lambda individuos más adaptados al problema. equipo cuatro.
  • 22. EJEMPLOS DE APLICACIÓN Resultado del algoritmos genético: Encontrar el valor de x que hace que la función f(x) alcance su valor máximo. Sea una función objetivo la siguiente: 2 f(x)= x Restricciones: - x solo va a tomar valores enteros - 0 <= x <=31 Manera de Codificar los valores para x: Codificación Binaria 16 8 4 INDIVIDUOS 2 1 (multiplicar por estos números y sumarlos) (0, 1, 0, 1, 1) = 11 (0, 0, 0, 0, 0) = 0 (1, 1, 1, 1, 1) = 31 Población Inicial: Una manera de generarla es aleatoriamente, lanzando una moneda al aire, si cae CARA: es igual a 0 SELLO: es igual a 1 equipo cuatro.
  • 23. Num. Individuo Individuo x f(x) Asig. de Pareja 1 (0, 1, 1, 0, 0) 12 144 6 2 (1, 0, 0, 1, 0) 18 324 3 3 (0, 1, 1, 1, 1) 15 225 2 4 (1, 1. 0, 0, 0) 24 576 5 5 (1, 1, 0, 1, 0) 26 676 4 6 (0, 0, 0, 0, 1) 1 1 1 fmed= 324.3 f(mejor individuo) = 676 Selección Torneo entre dos. A cada individuo de la población se le asigna una pareja y entre ellos se establece un torneo: el mejor individuo genera dos copias y el peor se desecha equipo cuatro.
  • 24. Num. Individuo Individuo Asig. de Pareja PCA Individuo x f(x) (0, 1, 0, 1, 0) 10 100 1 (0, 1, 1, 0, 0) 5 1 (1, 1, 1, 0, 0) 28 784 2 (0, 1, 1, 0, 0) 3 3 (0, 1, 1, 1, 0) 14 196 3 (1, 0, 0, 1, 0) 2 3 (1, 0, 0, 0, 0) 16 256 4 (1, 0, 0, 1, 0) 6 1 (1, 1, 0, 1, 0) 26 676 5 (1, 1, 0, 1, 0) 1 1 (1, 0, 0, 1, 0) 18 324 6 (1, 1, 0, 1, 0) 4 1 fmed= 389.3 f(mejor individuo) = 784 Población tras el cruce Cruce Se forman parejas entre los individuos (similar a la de selección). Se estable un punto de cruce aleatorio (PCA) entre 1 y 4 (longitud individuo – 1) Num. Ind. 2 1 5 equipo cuatro. Padre Madre hijo (0 1, 1, 0, 0) (1 1, 0, 1, 0) 1 hijo
  • 25. Siguiente paso El siguiente paso es volver a realizar la selección y le cruce tomando como población Inicial la ultima tabla (población tras el cruce). Repite tantas veces como numero de iteraciones tu fijes. Conclusión Los algoritmos genéticos no te garantizan un resultado optimo, pero si esta bien construido te proporcionara una solución razonablemente buena. No cabe descartar que el algoritmo te de un resultado optimo, así que quédate con la mejor solución de tu ultima iteración. Consideraciones Adicionales Para explorar nuevas soluciones, después de la selección y el cruce, escoges un numero determinado de bits de la población y los alteras aleatoriamente a esto se le llama mutación. equipo cuatro.
  • 27. FIN Equipo 4 integrado por: Esteban Alejandro Vargas Cortez equipo cuatro.

Notas del editor

  1. {}