Una introducción a la computación evolutiva

Slides:



Advertisements
Presentaciones similares
ALGORITMOS GENETICOS EVOLUCIÓN DE UNA POBLACIÓN DE
Advertisements

Representación del conocimiento
Diseño y análisis de algoritmos
Planificación de Monoprocesadores
TECNICATURA UNIVERSITARIA EN INFORMATICA
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
Algoritmo GENETICO.
Algoritmos Voraces.
Grupo 4 Matías Melgar Pablo Carbonell
“Impulsando la Sociedad
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
Telekom Solutions.
Metaheurísticas para el Diseño de Redes Multioverlay Robustas
Tema 3 Revisión de diversos métodos robustos aplicados en algunos problemas fotogramétricos.
UNIVERSIDAD LATINA (UNILA) II.- ANALISIS DE ALGORITMOS
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Programación 1 Introducción
Definición Los Algoritmos Genéticos son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización. los Algoritmos Genéticos.
Sistemas Inteligentes Algoritmos Evolutivos
Introducción a las Metaheurísticas
Métodos basados en poblaciones 1 En cada iteración se trabaja con un conjunto o población de soluciones Computación evolutiva: algoritmos que se inspiran.
Pablo Musso ARTech Algoritmos Genéticos con GeneXus.
Sistemas Inteligentes Algoritmos Geneticos
Optimización matemática Algoritmos Genéticos – Parte 2 Por: Antonio H
Inteligencia Artificial Búsqueda local
Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez Faltan autores y bibliografía.
ALGORITMO GENÉTICO John Henry Holland (n. 02 de febrero 1929, Fort Wayne, Indiana, EE.UU.) ostenta los títulos de Profesor de Psicología y Profesor de.
Optimización Multiobjetivo Por: Antonio H
Alumno: Jorge Ahumada A. Profesor Guía : Nelson Baloian T.
Universidad Michoacana de San Nicolás de Hidalgo Facultad de Ingeniería Eléctrica División de Estudios de Posgrado Algoritmos Genéticos.
Población y Muestra.
Diseño y análisis de algoritmos
Complejidad de los problemas de decisión
Sesión 6: Campos de Markov
(Organización y Manejo de Archivos)
COMPUTACION EVOLUTIVA Introducción. Computación Evolutiva: Computación Evolutiva: Enfoque alternativo para abordar problemas complejos de: Enfoque alternativo.
Algoritmos de Búsqueda Simulated Annealing Es un algoritmo de Hill­Climmbing estocástico. Inspirado en el proceso físico (Termodinámica) de enfriamiento.
BIOINFORMÁTICA TEMA 1 INTRODUCCIÓN
1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc.
Algoritmos genéticos Introducción Esquema básico Codificación
Aplicación educativa sobre Algoritmos Evolutivos en imágenes digitales
Trabajo de Graduación “SISTEMA DE PLANEACIÓN AVANZADO (APS) PARA DETERMINAR LA UBICACIÓN ÓPTIMA DE CAPACITORES EN UNA RED DE DISTRIBUCIÓN DE ENERGÍA ELÉCTRICA.
Propuesta del algoritmo
1 Problemas de decisión Tipo particular de problemas de optimización Sistemas que evolucionan con el tiempo Se toman decisiones en momentos sucesivos de.
Capítulo 6. ANÁLISIS DE ALGORITMOS
Mary C. Jarur M. ww.udec.cl/~mjarur
Asignación de Horarios
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
EVOLUCIÓN DE UNA POBLACIÓN DE CURVAS EN EL TIEMPO Y EN EL ESPACIO Francisco Antonio González Salas Luis Valencia Cabrera.
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Patrones de diseño equipo n.1
ALGORITMOS GENETICOS.
INTELIGENCIA ARTIFICIAL. Redes Neuronales Artificiales Mecanismos de aprendizaje ◦ Entrada x ◦ Salida y ◦ Peso w ◦ Transferencia ~
3.4 PRINCIPALES FACTORES DE LA EVOLUCION
Taller: Inteligencia Computacional
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Introducción a los TADs
Ing. Uziel Quiroz Castañeda Blanca Esthela Carranza Ortega 8º Semestre Junio/2013.
Heurística. Los procesos que se llevan a cabo en el cerebro pueden ser analizados, a un nivel de abstacción dado, como procesos computacionales de algún.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
La Biología como Alternativa Computacional Nuevos Paradigmas de Computación inspirados en la Biología Mario de J. Pérez Jiménez, Fernando Sancho Caparrini.
Muestreo Probabilístico
Proceso de desarrollo de Software
Prof. Manuel B. Sánchez. Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno.
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible.
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar los.
Transcripción de la presentación:

Una introducción a la computación evolutiva Algoritmos Genéticos Faltan autores y bibliografía. Una introducción a la computación evolutiva

Algoritmos Genéticos ¿Qué son los algoritmos genéticos? ¿Cómo funcionan? Implementación de los AG Aplicaciones Uso del paradigma funcional Visión de futuro Conclusiones

¿Qué es un AG? Los AG son métodos de resolución de problemas de búsqueda y optimización. Son una clase particular de algoritmos evolutivos. Su característica principal es que se basan en técnicas inspiradas en la evolución biológica.

¿Qué es un AG? Se aplican sobre una población representada de forma abstracta como cromosomas, que son la codificación de soluciones candidatas a un problema. La evolución comienza desde una población aleatoria. En cada generación, la selección natural elegirá que individuos son aptos, modificandolos y mutándolos para la siguiente generación.

¿Cómo funcionan? Para resolver un problema usando AG necesitamos: Representar soluciones. Tradicionalmente una cadena de bits. Medir la calidad de cada solución con respecto al problema a resolver. Se usa una función de selección.

¿Cómo funcionan? Esquema de funcionamiento de un AG: Se crea una población inicial generando individuos aleatoriamente. Repetimos hasta que se alcance el individuo óptimo o el número máximo de generaciones: Asignar un valor de supervivencia a cada miembro de la población. Seleccionar a un conjunto de individuos que actuarán como padres usando como criterio su probabilidad de supervivencia. Emparejar un grupo de padres para crear desdendencia. Combinar la descendencia con la población actual para crear nueva población.

Implementación de los AG Los AG se adaptan específicamente a los problemas que van a resolver. No hay un marco teórico genérico para aplicarlo a todos los problemas. Es difícil establecer dicho marco. Si es muy genérico, resulta trivial. Si es muy específico, no se puede adaptar a todos los problemas.

Aplicaciones Optimización de una función simple. Los cromosomas son vectores numéricos que representan el rango de variación. La función de selección es el propio valor de f(x). El resultado se muta con una probabilidad dada.

Aplicaciones Problema del viajante. Cada cromosoma es un vector con una permutación de todas las ciudades, lo cual representa un camino para visitarlas todas. La función de selección depende de los pesos de los distintos arcos del grafo. Se muta el vector (se intercambian algunos de sus elementos) con una probabilidad dada.

Uso del paradigma funcional Ventajas La definición de AG se adapta naturalmente al paradigma funcional. Las acciones que definen un AG (seleccionar, emparejar y combinar) son funciones a definir. El AG mismo es una función que toma una población inicial y una semilla aleatoria, devolviendo un conjunto de poblaciones sucesivas que representan las distintas generaciones.

Uso del paradigma funcional Un lenguaje funcional como Haskell permite el uso de estructuras infinitas. El AG puede generar una lista indefinida de descendientes y la función de recombinación sólo usará aquellos descendientes necesarios para construir la nueva población.

Uso del paradigma funcional Ejemplo de función de generación de población procrear :: Población -> Prob Población procrear pob = do padres <- seleccionar pob hijos <- emparejar padres combinar pob hijos

Uso del paradigma funcional Se usa la mónada Prob para tener control preciso sobre la generación de números aleatorios. Prob mantiene varias listas infinitas de números aleatorios asociados con cada proceso estocástico, manteniéndolas ocultas al usuario. Esto permite gran control sobre los factores que determinan el resultado de las ejecuciones del AG. ¿Cómo se describe e implementa la mónada Prob?

Visión de futuro Desarrollar una marco de trabajo para AG, de manera que una misma estructura se pueda instanciar a distintos tipos de problemas. Proporcionar operadores genéticos como funciones predefinidas y permitir su selección y utilización mediante un interfaz de usuario.

Visión de futuro Realización de una implementación más eficiente que sea capaz de manejar problemas de gran tamaño y complejidad. Una posibilidad sería usar mónadas de estado (State Monads) para reutilizar el espacio. Explotar el paralelismo inherente a los AG adaptando el marco a arquitecturas distribuidas. ¿Puedes describir al menos un ejemplo, aunque incompleto?

Conclusiones Ventajas del uso de los AG Es poco sensible a los mínimos locales, lo cual le confiere robustez, en contraste con las redes neuronales clásicas. Asimismo, no depende de las condiciones iniciales, debido a que se usa búsqueda estocástica y ésta hace al principio un gran número de intentos aleatorios.

Conclusiones El tiempo de convergencia de los AG es predecible por la naturaleza paralela de la búsqueda estocástica. Funciona de forma paralela, por lo que pueden usarse en sistemas distribuidos para mejorar más la velocidad de búsqueda.

Conclusiones Inconvenientes del uso de los AG No hay un marco teórico genérico establecido. Si la población inicial es cercana a la solución óptima, los GA tardarán más que las técnicas de resolución tradicionales. El GA perderá mucho tiempo comprobando soluciones sub-óptimas.

Conclusiones Hacen buenas estimaciones de la solución óptima, pero no la calculan exactamente. El usuario debe determinar cómo de cerca está la solución estimada de la solución real. La proximidad a la solución real dependerá de la aplicación en concreto.