inteligencia artificiallctorress/iartificial/iac010.pdf · por tanto, los algoritmos evolutivos son...

36
Inteligencia Artificial

Upload: others

Post on 17-Mar-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inteligencia Artificial

Page 2: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Algoritmos genéticos

Page 3: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

En la naturaleza todos los seres vivos se enfrentan aproblemas que deben resolver con éxito, comoconseguir más luz solar o conseguir comida.La Computación Evolutiva interpreta la naturalezacomo una inmensa máquina de resolver problemas ytrata de encontrar el origen de dicha potencialidadpara utilizarla en programas de computador.

Bases

Computación evolutiva: ciencia computacional cuyosalgoritmos imitan el proceso evolutivo de lanaturaleza.

Page 4: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Existen problemas que no pueden solucionarse pormétodos matemáticos o analíticos; quizás la únicaforma de resolverlos es a través de métodos deprueba y error dirigidos.Buscar donde se cree que hay un posible resultado,podría ser similar al proceso que sigue la naturaleza.Copiar la manera como opera la naturaleza se creanalgoritmos que utilizan los operadores quereproducen los procesos genéticos.

Page 5: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Introducción

Un Algoritmo Genético (AG) [Goldberg, 1989] es unaclase de algoritmo de búsqueda estocástica, basado enlos mecanismos de selección natural.Combinan la supervivencia de los mejores individuos,intercambiando información estructurada, de maneraaleatoria e imitando los procesos de evoluciónbiológica.Los AG son una original técnica de resolución deproblemas empleando procesos evolutivos.

Page 6: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

La Computación Evolutiva (o Algoritmos Evolutivos)agrupa a los Algoritmos Genéticos, las EstrategiasEvolutivas y la Programación Evolutiva.Estas técnicas son muy parecidas y compartenmuchos aspectos.

Introducción

Un Algoritmo Evolutivo es una técnica de resoluciónde problemas utilizando métodos inspirados en laevolución de los seres vivos.

Page 7: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Introducción

En un Algoritmo Evolutivo se define una estructurade datos que admita las posibles soluciones a unproblema.Cada uno de los posibles conjuntos de datosadmitidos por esa estructura será una solución alproblema.Unas soluciones serán mejores que otras. Solucionarun problema consiste en hallar una solución óptima, ypor tanto, los Algoritmos Evolutivos son en realidadun método de búsqueda para encontrar una posiblesolución.

Page 8: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

En cada generación se crea un nuevo conjunto decriaturas artificiales con las partes más aptas de lasgeneraciones anteriores.Los AG son evolutivos.Explotan la información histórica.Exploran con nuevos puntos de búsqueda esperandoun mejor comportamiento.

Introducción

Page 9: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Basadas en el Cálculo

Indirectos Reconocido Simulado

Algoritmos Evolutivos

Búsqueda Aleatoria

Técnicas de Búsqueda

Técnicas Enumerativas

Programación Dinámica

Algoritmos Genéticos

Paralelos Secuenciales

Directos

Introducción

Page 10: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

El objetivo de los AG es:

1. Explicar rigurosamente los procesos adaptativosde los sistemas naturales.

2. Diseñar software de sistemas artificiales, quecontenga los mecanismos principales de los sistemasnaturales.

3. Aplicar los procesos evolutivos de los seres a laprogramación.

Page 11: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

¿Por qué utilizar AG en optimización ybúsqueda?

Los métodos tradicionales, pueden encontrarsoluciones óptimas a problemas específicos, que sepresentan en casos especiales. No son robustos.Los métodos indirectos buscan extremos locales,solucionando las ecuaciones al definir el gradiente dela función objetivo igual a cero.Es la generalización multidimensional de la nocióndel cálculo elemental de puntos extremos.El concepto de optimización es un problema relativo a lacantidad de información que se tenga en un momento dado.

Page 12: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Page 13: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Page 14: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Page 15: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

La naturaleza contiene muchos ejemplos de uso deescogencia aleatoria, como herramienta en un procesode búsqueda directa.

El recocido simulado usa procesos aleatorios paraayudar a guiar su búsqueda para estados de energíamínimos.

Los métodos convencionales no cumplenrequerimientos de robustez que requiere el mundoreal.

Page 16: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Los AG no quedan recluidos en mínimos o máximoslocales.Usan la aptitud de las cadenas para dirigir labúsqueda; por lo que no se requiere amplioconocimiento específico del problema.Operan adecuadamente sobre espacios de búsquedaque tienen saltos o ruido.

Page 17: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Diferencia de los AGcon los métodos tradicionales

Utilizan reglas de transición probabilísticas, nodeterminísticas.Trabajan con una codificación del conjunto deparámetros, no con los parámetros.Buscan en una población de puntos, no en un solopunto.Usan la información que resulta de cadaevaluación, no la derivada.

Page 18: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Generan poblaciones sucesivas utilizandooperadores genéticos artificiales similares a losbiológicos.La búsqueda en paralelo sobre los individuos dela población, contribuye a la robustez quedemuestran los AG.

Page 19: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Los mecanismos de un AG simple sonsorprendentemente sencillos.Lo más complejo que incluyen es la copia decadenas y el intercambio parcial de cadenas.La simplicidad de operación y el poder deefectividad son las principales atraccionesdel enfoque utilizado por los AG.

Page 20: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Algoritmo Genético SimpleAGs

Page 21: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

El objetivo principal de un Algoritmo genético es elde evolucionar a partir de una población desoluciones para un determinado problema,intentando producir nuevas generaciones que seanmejores que las anteriores.Estos algoritmos operan en un ciclo simple:Creación de la población inicial, selección yreproducción, éste último implicando unarecombinación y mutación del material genético delas soluciones.

Page 22: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Los cromosomas de la población tienen la forma deuna cadena de bits.

Cada gen, posición, en el cromosoma tiene dosposibles valores: 0 y 1.

Cada cromosoma es un punto en el espacio debúsqueda.

El AG procesa poblaciones de cromosomassucesivamente.

Page 23: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

La aptitud de un cromosoma depende de que tanbien la solución resuelva el problema.

Remplazan una población por otra a medida queavanzan las generaciones.

Page 24: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Un AG involucra tres tipos de operadores:

Selección, Cruce y Mutación.

Selección.Selecciona cromosomas de la población para sureproducción basado en la aptitud.Cruce.Realiza la recombinación de dos cromosomas(organismos) para generar nuevos cromosomas.

Page 25: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

1 0 0 0 0 1 0 0 1

1 1 1 1 1 1 1 1 0Hijo 1Padres 1 0 0 1 1 1 1 1 0

Page 26: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

1 0 0 0 0 1 0 0 1

1 1 1 1 1 1 1 1 0Hijo 2Padres 111 001001

Page 27: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Cambia aleatoriamente bits en un cromosoma deacuerdo a una probabilidad.Por ejemplo, la cadena 00000100 puede sermutada en su segunda posición y producir01000100.Facilita hacer una exploración completa paraevitar concentración de los genes más aptos enmáximos locales.

Mutación

Page 28: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

AG

Dada una definición del problema a resolver, serepresenta en cadenas de símbolos las solucionescandidatas.Un AG simple trabaja así:

Generación de población inicial.

Aleatoriamente: k cromosomas de l bits (solucionescandidatas para la solución del problema).

Page 29: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Repetir hasta que m hijos hayan sido creados.

2. Seleccionar pares de cromosomas de la población.

3. Con probabilidad pc, se cruza un par de cromosomasen un punto escogido al azar, para formar dos hijos.

4. Con probabilidad pm se elige sustituir el dígito enposiciones de la cadena de unos hijos.

5. Reemplazar los nuevos cromosomas para una nuevapoblación (actual).

Regresar al paso 1.

1. Calcular la aptitud f(x) de cada cromosoma x en lapoblación.

Page 30: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

La probabilidad de selección está dada de acuerdo ala aptitud de cada cromosoma.

La selección se hace sin reemplazo o con reemplazo.Un cromosoma puede seleccionarse más de una vezpara ser padre.

La selección es un proceso en que los cromosomas sellevan a la siguiente generación, con base en losvalores de su función objetivo f .

Cada iteración se llama generación.

Page 31: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Al final del proceso se encuentran usualmente uno omás cromosomas con una muy buena aptitud en lapoblación.Debido a la aleatoriedad, dos ejecuciones producendiferentes comportamientos.La estructura del cromosoma podría ser variable.Las rutinas de selección, cruce y mutación se realizantan sofisticadas como se desean.

Page 32: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

La copia de cadenas, con base en el valor promedio deaptitud, permite que cadenas con un valor mayor deaptitud, tengan mayor probabilidad de contribuir conuno o más descendientes en la siguiente generación.En la naturaleza la aptitud esta determinada por lahabilidad para sobrevivir a depredadores, pestes, etc.,para llegar a adultos y reproducirse.

Page 33: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Los AG representan un nuevo método de búsquedaen espacios de solución intrincados.Se basan en un proceso evolutivo artificial, en elcual una población de individuos se modifica enfunción del tiempo por la aplicación de unconjunto de operadores simples.

Conclusiones

Page 34: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Son un nuevo método de solución a problemas deingeniería.La capacidad que tienen para encontrar unbalance entre la explotación y la exploración desoluciones a lo largo de su evolución es su granatractivo.La estructura general del algoritmo usualmente esla misma para cualquier aplicación práctica.

Conclusiones

Page 35: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al

Garantizan la búsqueda de un mejor óptimo paralas condiciones particulares del problema a travésde un procedimiento aleatorio de ensayo y error.Aunque la tarea es buscar una representaciónadecuada del dominio del problema mediantecadenas de bits, la función de aptitud, lasrestricciones que deben tener los operadoresgenéticos para que las soluciones propuestas seanfactibles; son algoritmos fáciles de implementar.

Conclusiones

Page 36: Inteligencia Artificiallctorress/iartificial/IAc010.pdf · por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda para encontrar una posible solución. Inteligencia

Inte

ligen

cia

Art

ifici

al