Clase 5: Algoritmos Evolutivos: Antecedentes y Paradigmas

Slides:



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

Origen de la vida y evolución.
Enfoques de la IA Ana Lilia Laureano-Cruces
Evolución según Lamarck y Darwin
Lamarck vs Darwin vs Otros
“Impulsando la Sociedad
TEORÍAS DE LA EVOLUCIÓN.
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
Clase # 8: Análisis Conformacional (II)
Ajustando el Algoritmo al problema Universidad Nacional Oscar Lozano.
Computación Natural Mario Hernández.
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.
Sistemas Inteligentes Algoritmos Geneticos
Representación del Conocimiento Sesion 2. Contenido Representación del Conocimiento. Parte de una representación. Manipulación del Conocimiento. Referencias.
REDES NEURONALES ARTIFICIALES
Inteligencia artificial
Optimización matemática Algoritmos Genéticos – Parte 2 Por: Antonio H
Algoritmos Genéticos.
EVOLUCIÓN.
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.
Computación evolutiva Manuel García Leonardo Salinas.
LAE. LUCÍA REYES MARTÍNEZ
Optimización matemática Algoritmos Genéticos – Parte 1 Por: Antonio H
Clase 4: Algoritmos Evolutivos
EVOLUCIONISMO.
Introducción a la Modelación Social con Autómatas Celulares Presentado por: Soledad Mª Granada C.
Evolución Selección Natural.
UNIDAD IV: VARIABILIDAD, EVOLUCIÓN Y ADAPTACIÓN
LA SELECCIÓN NATURAL MARIA ELISA ARROYO
(Organización y Manejo de Archivos)
Evolución Biológica: Teoría y evidencia
COMPUTACION EVOLUTIVA Introducción. Computación Evolutiva: Computación Evolutiva: Enfoque alternativo para abordar problemas complejos de: Enfoque alternativo.
Teorías de la Evolución de los seres Vivos
BIOINFORMÁTICA TEMA 1 INTRODUCCIÓN
Computación Evolutiva
Sistemas Expertos “Autómatas Celulares”
Algoritmos genéticos paralelos
Capítulo 8 Genética poblacional y selección natural.
Neodarwinismo.
Aspectos adaptativos de adquisición y distribución de recursos
Algoritmos genéticos Introducción Esquema básico Codificación
Una introducción a la computación evolutiva
INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS
Mary C. Jarur M. ww.udec.cl/~mjarur
Modelos en la enseñanza
1.
INSTINTO Y EVOLUCION JWT.
INSTITUTO TECNOLÓGICO DE TIJUANA Maestría en Ciencias en Ciencias De La Computación Tema: Operadores genéticos Alumnas: Leticia Mendoza Reyes. Rosalinda.
D. Pandolfi. LabTEm: Laboratorio de Tecnologías Emergentes Universidad Nacional de la Patagonia Austral Unidad Académica Caleta Olivia G. Leguizamón LIDIC:
Introducción a los Sistemas Inteligentes
ALGORITMOS GENETICOS.
INTELIGENCIA ARTIFICIAL. Redes Neuronales Artificiales Mecanismos de aprendizaje ◦ Entrada x ◦ Salida y ◦ Peso w ◦ Transferencia ~
CONCEPTOS CLAVES EN LA INGENIERIA DE SISTEMAS
3.4 PRINCIPALES FACTORES DE LA EVOLUCION
Taller: Inteligencia Computacional
Aplicaciones de la IA Aplicaciones de la Inteligencia Artificial Perspectivas 2003.
Autómatas Celulares Msc. Miguel Angel Niño Universidad del Cauca.
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.
TEORÍAS SOBRE LA EVOLUCIÓN
Introducción a la Inteligencia Artificial
TEORIAS SOBRE EL ORIGEN DE LAS ESPECIES
Introducción a la Evolución
TEORÍAS SOBRE LA EVOLUCIÓN
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
Neodarwinismo o Teoría sintética y saltacionismo
Transcripción de la presentación:

Clase 5: Algoritmos Evolutivos: Antecedentes y Paradigmas Computación Evolutiva Gabriela Ochoa http://www.ldc.usb.ve/~gabro/

Contenido Inspiración biológica: La Teoría de la Evolución Natural Algoritmos Evolutivos Paradigmas en Computación Evolutiva Estrategias Evolutivas (ES) Programación Evolutiva (EP) Algoritmos Genéticos (GAs) Ramificaciones de los Gas Relación con otras áreas: IA, Computación Emergente, Soft Computing

Charles Darwin 1859: “The Origin of Species” Derrumba el Lamarckismo Evolución se origina a través de cambios aleatorios de características hereditarias, combinados con un proceso de selección natural (Supervivencia de los más aptos)

Selección Natural Proceso natural por el cual los individuos mas aptos de un grupo de descendientes sobrevive para transferir sus rasgos heredados a las generaciones sucesivas Mientras los menos aptos, mueren sin dejar descendientes y así se eliminan los rasgos característicos de los menos aptos Este proceso explica los cambios en las características de las especies en el tiempo, y eventualmente produce especies y tipos nuevos de organismos Natural Selection The natural process in which the fittest in a group of offspring survive to pass on their heritable traits to subsequent generations while those less fit die off leaving no offspring and thereby terminating the traits characterizing the less fit organism. Darwin theorized that this process could account for changes in the characteristic traits of species over time and eventually produce wholly new species and different types of organisms.

Neo-Darwinismo + Versión moderna de la Teoría Evolutiva de Darwin Síntesis entre el Darwinismo y la Genética Mendeliana Darwin desconocía los mecanismos de variación Neo-Darwinism is the modern version of Darwinian evolutionary theory: the synthesis of Mendelian genetics and Darwinism. Darwin knew very little about the mechanism of variation; he merely recognized that whatever its source, phenotypic variation allowed for natural selection to operate. It was modern genetics that provided the key insight into the means by which variation in biology originated

Evolución Proceso de descendencia con cambio, y posiblemente diversificación Evolución = Variación + Herencia + Selección Población Variación: en una o mas características Herencia: Transmisión padres - hijos Selección: Diferentes tasas de reproducción y supervivencia. Mas aptos se reproducen mas

Computación Evolutiva Años 50s y 60s: varios científicos de manera independiente estudiaron sistemas evolutivos, con la idea usar la evolución como método optimización en ingeniería Idea: Evolucionar una población de posibles soluciones a un problema dado, utilizando operadores inspirados por la variación genética, y la selección natural

Naturaleza / Computación

Jhon Von Neumann (1) Nació en Budapest Hungría en 1903 Genio prematuro, a los 8 años leyó una enciclopedia de historia universal de 42 volúmenes Publicó su primer paper a los 18 años con su tutor Estudió química en la Universidad de Berlín hasta 1923 Lugo viaja a Zurich, donde en 1925, recibe un título en Ing. Química

Jhon Von Neumann (2) 1928: recibe doctorado en matemáticas de la Universidad de Budapest, a la edad 22 años Instituto de Estudios Avanzados en Princeton, desde 1933. Hasta el final de su vida Matemático mas brillante del siglo 20, contribuciones a la mecánica cuántica, análisis funcional y lógica matemática Invento áreas nuevas como: la teoría de juegos, los autómatas celulares La arquitectura von Neumann del computador, aun domina el área

Jhon von Neumann (3) 150 publicaciones: 20 en Física y el resto distribuido mas o menos equitativamente entre: Matemáticas Puras: (set theory, logic, topological group, measure theory, ergodic theory, operator theory, and continuous geometry) Matemáticas Aplicadas: (statistics, numerical analysis, shock waves, flow problems, hydrodynamics, aerodynamics, ballistics, problems of detonation, meteorology, and two nonclassical aspects of applied mathematics, games and computers).

Enfoques en Computación Evolutiva EC = GA + ES + EP Computación Evolutiva Algoritmos Genéticos (Holland, 75) Estrategias Evolutivas (Rechenberger, 73) Programación Evolutiva (Fogel, Owens, Walsh, 66) Similares en un nivel abstracto, inspiradas en los principios de la Evolución Natural. Diferencias a nivel de implementación. Aspectos de representación de las estructuras, operadores de variación, métodos de Selección, medidas de desempeño Historically, there have been three well-defined approaches to evolutionary computation: ``evolutionary programming'‘ (Fogel,66), ``evolution strategies'' (Rechenberg,73), and ``genetic algorithms'' (Holland, 75). Although similar at the highest level, these approaches differ in the way they implement an EA. The differences touch all the aspects of EAs, including the choices of representation for the individual structures, types of selection mechanisms, forms of variation operations, and measures of performance. The major differences are, however, in the choice of representations, and emphasis and use of variation operators. Evolutionary programming (EP) uses representations that are tailored to the problem domain. Similarly, evolutionary strategies (ES), due to initial interest in hydrodynamic optimisation problems, use real-valued vector representations. On the other hand, genetic algorithms have traditionally used a more domain independent representation, namely, binary strings. Regarding variation operations, both EP and ES use mutation as the main operator, and propose a form of self-adaptive mutation; whereas GAs emphasise recombination as the main search operator, and use mutation as a secondary operator applied with a small constant probability.

Ramas de Algoritmos Genéticos Programación Genética (Genetic Programming, GP) Jhon Koza, 1989. Espacio de búsqueda, programas de computación en un lenguaje que puede ser modificado por mutación y recombinación GAs basados en ordenamiento (Order based GAs): utilizados en optimización combinatoria. Espacio de búsqueda: permutaciones Sistemas Clasificadores Genéticos (Classifier Systems). Especio de reglas de producción, sistema de aprendizaje, inducir y generalizar Although it is not possible to present here a thorough overview of all variants of evolutionary algorithms; it is worth mentioning: order-based genetic algorithms, classifier systems, and genetic programming as branches of genetic algorithms that have developed into their own directions of research and application. Order-based GAs are used in combinatorial optimisation problems where the search space is the space of permutations (e.g. the travelling salesman problem); they work directly on the permutation, applying specialised genetic operators (e.g. inversion and reordering) that preserve permutations. Classifier systems use an evolutionary algorithm to search the space of production rules of a learning system that can induce and generalise. Genetic programming applies evolutionary search to the space of computer programs in a language suitable for modification by mutation and recombination. The dominant approach uses the LISP programming language, but other languages including machine code have also been used.

Esqueleto de un Algoritmo Evolutivo Generate [P(0)] t  0 WHILE NOT Termination_Criterion [P(t)] DO Evaluate [P(t)] P' (t)  Select [P(t)] P''(t)  Apply_Variation_Operators [P'(t)] P(t+1)  Replace [P(t), P''(t)] t  t + 1 END RETURN Best_Solution It can be seen that the algorithm comprises three major stages: selection, reproduction and replacement. During the selection stage, a temporary population is created in which the fittest individuals (those corresponding to the best solutions contained in the population) have a higher number of instances than those less fit (natural selection). The variation operators are applied to the individuals in this population yielding a new population. Finally, individuals of the original population are substituted by the new created individuals. This replacement usually tries to keep the best individuals deleting the worst ones. The whole process is repeated until a certain termination criterion is achieved (usually after a given number of iterations). Notice that the algorithm establishes a trade-off between the exploitation of good solutions (selection stage) and the exploration of new zones of the search space (reproduction stage), based on the fact that the replacement policy allows the acceptation of new solutions that not necessarily improve the existing ones. EAs are heuristics and thus they do not ensure an optimal solution. The behaviour of these algorithms is stochastic so they may potentially present different solutions in different runs of the same algorithm. That's why it is very common to need averaged results when studying some problem and why probabilities of success (or failure), percentages of search extension, etc... are normally used for describing their properties and work.

El Ciclo Evolutivo Selection Parents Recombination Population Mutation Replacement Offspring

Solución de Problemas usando Algoritmos Evolutivos

Algoritmos Genéticos Jhon Holland, 60s, y 70s, Univ. Michigan Idea original estudio teórico de la adaptación, no resolución de problemas Representación genética independiente del dominio: cadenas de bits Énfasis en recombinación, operador principal, mutación papel secundario aplicado con baja probabilidad, constante Selección probabilística On the other hand, genetic algorithms have traditionally used a more domain independent representation, namely, binary strings. Regarding variation operations, both EP and ES use mutation as the main operator, and propose a form of self-adaptive mutation; whereas GAs emphasise recombination as the main search operator, and use mutation as a secondary operator applied with a small constant probability.

Estrategias Evolutivas (1) ES, Evolution Strategies, Alemania. Evolutionstrategies Utilizadas para resolver problemas duros (sin solución analítica) de optimización de parámetros (No. reales) Cromosoma = vector de parámetros (float) Auto-adaptación de las tasas de mutación. Mutación con distribución Normal Selección (m, l)-ES, (m + l)-ES Población de padres m e hijos l, pueden tener distinto tamaño Métodos determinísticos que excluyen definitivamente a los peores de la población

Estrategias Evolutivas (2) (m, l)-ES: Los mejores m individuos se escogen de los l hijos, y se convierten en los padres de la siguiente Generación. Ej. (50,100)-ES (m + l)-ES: Los mejores m individuos se escogen del conjunto formado m padres y l hijos. Ej. (50+100)-ES (m, l)-ES parece ser el mas recomendado para optimizar Funciones complejas y lograr la auto-adaptación de las tasas de mutación In (\mu,\lambda)-selection, the \mu best individuals out of the $\lambda$ offspring are selected to become parents of the next generation In $(\mu+\lambda)$-selection the $\mu$ best individuals are selected from the set of $\mu$ parents {\bf and} $\lambda$ offspring. Thus, the $(\mu+\lambda)$ scheme is elitist (see Section \ref{elit}) since it will only accept improvements; it may seem more effective at first glance because it guarantees the survival of the fittest individuals, but it has several disadvantages when compared to $(\mu,\lambda)$-selection. Particularly, it is not well suited for optimising multimodal functions and for achieving self-adaptation of the mutation rates. Thus, $(\mu,\lambda)$-selection is generally recommended

Estrategias Evolutivas (3) El progreso del Algoritmo evolutivo, ocurre solo en una pequeña banda de valores para el paso de la mutación. Por esta razón, se requiere de una regla auto-adaptaba para el tamaño de los pasos de mutación The climax of the theory of the Evolution-Strategy is the discovery of the Evolution Window: Evolutionary progress takes place only within a very narrow band of the mutation step size. This fact leads to the necessity for a rule of self-adaptation of the mutation step size.

Programación Evolutiva Inicialmente, evolución a través de mutaciones de maquinas de estado finito Representación adecuada al problema Mutación único operador de variación, distribución normal, Auto-adaptación Selección probabilística

ES EP GA Representación Auto-Adaptación Mutación Recombinación Números Reales Digitos Binarios Auto-Adaptación Desviaciones estándares y angulos de rotación No (Standard EP) Varianzas (Meta EP) No Mutación Gaussiana, Operador principal Gaussiana, Operador único Inversión de bit, operador secundario Recombinación Discreta (azar) Intermedia (promedio) Sexual (2 padres), Panmicitica (Varios) Crossover de n-puntos, Uniforme Operador principal Sexual (2 Padres) Selección Determinística, extintiva o basada en preservación Probabilistica, extintiva Probabilística, basada en preservación Varios operadores de recombinación se usan en ES. Sexual: recombinación actua tomando 2 individuos al azar de la población de padres. Panmitica: un padre es seleccionado al azar y se mantiene fijo, luego para cada componente del vector se selecciona un segundo padre para el crossover Discreta: para cada componente del vector, se decide aleatoriamente de que padre provendra la componente. Intermedia: componentes de los hijos se obtienen calculando la media aritmetica de los correspondientes componentes de los padres

Algoritmos Evolutivos y Métodos Tradicionales de Búsqueda Búsqueda de datos almacenados: Acceder de manera eficiente información en la memoria del computador. Ej. Búsqueda Binaria Búsqueda de rutas hacia metas: Encontrar de manera eficiente un conjunto de acciones que llevara de un estado inicial a uno final (meta). Ej. DFS, Branch-bound, A* Búsqueda de Soluciones: Mas general. Encontrar de manera eficiente la solución a un problema, en un espacio grande de soluciones candidatas. Ej. EAs, SA, HC, Tabú El Término búsqueda se utiliza en Computación en varios sentidos. Hemos usado búsqueda para indicar lo que hace un AE. Es importante contrastar este sentido de búsqueda con otros que se han usado en computación. Hay por lo menos 3 significados de ‘busqueda’ en computación, estos significados se solapan entre si. Búsqueda de datos almacenados: El problema es accesar de manera eficiente información en la memoria del computador. Supongamos que tenemos una base de datos de nombres y direcciones amacenados y ordenados bajo cierto criterio. Cúal es la mejor manera de buscar por un registro dado? Ej. Busqueda Binaria Búsqueda de rutas o metas: Aqui el problema es encontrar de manera eficiente un conjunto de acciones que llevara de un estado inicial a uno final (meta). Este es el tipo de búsqueda importante en muchos enfoques en IA. Ejemplo clásico el problema de las 8 numeros, un conjunto de cuadritos enumerados 1-8 sun hubicados en un cuadrado mas grande, dejando un espacio libre. Mover uno de los cuadritos adyacentes al espacio vacio se llama un movimiento, el problema es entonces encotrar el conjunto de movimientos de un estado inicial, al estado final donde todos los cuadritos estan ordenados. Este problema como muchos en IA puede mapearse a un árbol de búsqueda, donde la raiz del árbol corresponde al estado inicial, los nodos que se ramifican de este representan todos los posibles resultados de un movimiento a partir de ese estado, y asi suscesivamente. Ej. Depth-first-search, branch and bound, A* Hay claramente una diferencia grande entre el primer tipo de búsqueda y los segundos. El primero se refiere a problemas donde hay que buscar una pieza de información en (ej. Un numero de telfono) en una coleccion de informacion almacenada especificamente. En los egundos, la informacion a ser buscada no esta almacenada explicitamente. Sino que las soluciones candidatas son creadas mientras procede la busqueda. Ej. Los metodos AI para el problema anterior, no comienzan con un arbol completo con todos los nodos en memoria (demasiado grande, para los problemas de interés). El árbol es generado paso a paso de forma caractarisitica segun el algoritmo., la meta es encontrar una solucion buena o la optima, examinando solamente una porcion pequeña del arbol. De manera similar cuando se usa un AE para buscar en el espacio de soluciones posibles, no se crean todas las posibles soluciones y luego se evaluan, si no que, los GAs son metodos para encontrar soluciones optimas o buenas, examinando solamente una fraccion pequeña de los posibles candidatos. Busqueda de soluciones, engloba a busqueda de rutas hacia metas. EN principio puede codificarse una ruta como solucion candidata. Ej. En el problema de los 8-numeros, una solucion candidata seria una lista de movimientos a partir del estado incial a alguno otro estado. Y solo seria correcta si el estado final es el desado. Tambien ejemplo del Cubo de Rubick. Sin embargo, la mayoria de los problemas de busqueda de rutas hacia metas, se resuelven de mejor manera por tecincas de AI de busqueda en árboles (donde las soluciones parciales pueden evaluarse). En cambio en los AEs en general, la solucion completa debe generarse antes de poder ser evaluada.

Un Algoritmo Evolutivo es una técnica de resolución de problemas inspirada en la evolución de los seres vivos. Solucionar el problema consistirá en encontrar la solución óptima, y por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda. Pero un método de búsqueda muy especial, en el que las soluciones al problema son capaces de reproducirse entre sí, combinando sus características y generando nuevas soluciones.

Relación con Inteligencia Artificial Enfoque Simbólico – top down Sistemas Expertos-Expert Systems (SE-ES) Lógica Preposicional (Cálculo Preposicional) Lógica de Predicados (Cálculo de Predicados) Redes Semánticas Frames (Marcos) Lógica difusa o borrosa-Fuzzy Logic (LD-FL) Enfoque Subsimbólico – bottom up Redes Neurales Artificiales Computación Evolutiva El enfoque subsimbólico de la IA se caracteriza por crear sistemas con capacidad de aprendizaje. Éste se puede obtener a nivel de individuo imitando el cerebro (Redes Neuronales), o a nivel de especie, imitando la evolución, lo que se ha denominado Computación Evolutiva (CE),

Soft Computing SC = EC + ANN + FL Redes Neurales Artificiales Difiere de la Computación tradicional (hard computing), en que es tolerante a imprecisiones, incertidumbre, aproximación, verdades parciales Modelo: mente humana Principio Guía: aprovechar la tolerancia a los aspectos mencionados arriba, para lograr tratabilidad, robustez, bajo costo SC = EC + ANN + FL En muchos sentidos, soft computing representa un cambio de vision o paradigma en los objetivos de la computacion. Un cambio que refleja el hecho de que la mente humana, a diferencia de los computadores de hoy en día, posee una habilidad remarcambe de almecenar y procesar información que es ampliamente imprecisa, incierta y con falta de categorización Redes Neurales Artificiales Soft Computing Computación Evolutiva Lógica Difusa

Computación Emergente Procesos de cómputo que resultan de la actividad colectiva de muchas unidades computacionales sencillas con interacción local Sistema dinámico, evoluciona en el espacio de estados bajo conjunto de reglas - REDES NEURALES ARTIFICIALES - ALGORITMOS EVOLUTIVOS - AUTOMATAS CELULARES - MODELOS DE VIDA ARTIFICIAL. - RECOCIDO SIMULADO El comportamiento del sistema es mas que la suma de sus partes

Ciencias de la Complejidad Estudio, en diferentes disciplinas, de cómo una colección de elementos simples, siguiendo reglas simples, producen un comportamiento emergente, colectivo y complejo Precesamiento y comunicación de información Formación de patrones complejos y cambiantes Aprendizaje y adaptación al ambiente

Qué es Computación Emergente? Surge cuando acciones de componentes simples con información y comunicación limitada, producen procesamiento coordinado y global de información Resulta de la actividad colectiva en sistemas de muchas unidades de cómputo elementales en interacción local El todo es más que la suma de las partes

Neuronas Sistema Nervioso

Transacciones Comportamiento de la Bolsa

Hormigas Colonias de Hormigas

Rebaños Cardúmenes

Comportamiento de Bandadas Modelo computacional de movimiento coordinado de animales (rebaños, bandadas) (C. Reinolds,1986) BOIDS Modelo se basa en 3 comportamientos simples de dirección que describen como un individuo maniobra en base a las posiciones y velocidades de sus vecinos cercanos de vuelo

Las 3 Reglas de Dirección Separación: Evitar colisión con compañeros cercanos de vuelo Alineación: Imitar dirección y velocidad promedio de los compañeros cercanos de vuelo Cohesión: Moverse hacia posición promedio de los compañeros cercanos de vuelo

Preguntas Centrales – Ciencias de la Complejidad Cómo grandes redes con: Componentes simples, Comunicación limitada Sin control central, Reglas simples de operación producen comportamientos complejos (vivos, inteligentes) que involucra Computación y procesamiento de información Dinámicas y patrones complejos Adaptación y Aprendizaje? Existen principios generales que aplican a todos los sistemas complejos?